Metamath Proof Explorer


Theorem on2ind

Description: Double induction over ordinal numbers. (Contributed by Scott Fenton, 26-Aug-2024)

Ref Expression
Hypotheses on2ind.1 ( 𝑎 = 𝑐 → ( 𝜑𝜓 ) )
on2ind.2 ( 𝑏 = 𝑑 → ( 𝜓𝜒 ) )
on2ind.3 ( 𝑎 = 𝑐 → ( 𝜃𝜒 ) )
on2ind.4 ( 𝑎 = 𝑋 → ( 𝜑𝜏 ) )
on2ind.5 ( 𝑏 = 𝑌 → ( 𝜏𝜂 ) )
on2ind.i ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → ( ( ∀ 𝑐𝑎𝑑𝑏 𝜒 ∧ ∀ 𝑐𝑎 𝜓 ∧ ∀ 𝑑𝑏 𝜃 ) → 𝜑 ) )
Assertion on2ind ( ( 𝑋 ∈ On ∧ 𝑌 ∈ On ) → 𝜂 )

Proof

Step Hyp Ref Expression
1 on2ind.1 ( 𝑎 = 𝑐 → ( 𝜑𝜓 ) )
2 on2ind.2 ( 𝑏 = 𝑑 → ( 𝜓𝜒 ) )
3 on2ind.3 ( 𝑎 = 𝑐 → ( 𝜃𝜒 ) )
4 on2ind.4 ( 𝑎 = 𝑋 → ( 𝜑𝜏 ) )
5 on2ind.5 ( 𝑏 = 𝑌 → ( 𝜏𝜂 ) )
6 on2ind.i ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → ( ( ∀ 𝑐𝑎𝑑𝑏 𝜒 ∧ ∀ 𝑐𝑎 𝜓 ∧ ∀ 𝑑𝑏 𝜃 ) → 𝜑 ) )
7 onfr E Fr On
8 epweon E We On
9 weso ( E We On → E Or On )
10 sopo ( E Or On → E Po On )
11 8 9 10 mp2b E Po On
12 epse E Se On
13 predon ( 𝑎 ∈ On → Pred ( E , On , 𝑎 ) = 𝑎 )
14 13 adantr ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → Pred ( E , On , 𝑎 ) = 𝑎 )
15 predon ( 𝑏 ∈ On → Pred ( E , On , 𝑏 ) = 𝑏 )
16 15 adantl ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → Pred ( E , On , 𝑏 ) = 𝑏 )
17 16 raleqdv ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → ( ∀ 𝑑 ∈ Pred ( E , On , 𝑏 ) 𝜒 ↔ ∀ 𝑑𝑏 𝜒 ) )
18 14 17 raleqbidv ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → ( ∀ 𝑐 ∈ Pred ( E , On , 𝑎 ) ∀ 𝑑 ∈ Pred ( E , On , 𝑏 ) 𝜒 ↔ ∀ 𝑐𝑎𝑑𝑏 𝜒 ) )
19 14 raleqdv ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → ( ∀ 𝑐 ∈ Pred ( E , On , 𝑎 ) 𝜓 ↔ ∀ 𝑐𝑎 𝜓 ) )
20 16 raleqdv ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → ( ∀ 𝑑 ∈ Pred ( E , On , 𝑏 ) 𝜃 ↔ ∀ 𝑑𝑏 𝜃 ) )
21 18 19 20 3anbi123d ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → ( ( ∀ 𝑐 ∈ Pred ( E , On , 𝑎 ) ∀ 𝑑 ∈ Pred ( E , On , 𝑏 ) 𝜒 ∧ ∀ 𝑐 ∈ Pred ( E , On , 𝑎 ) 𝜓 ∧ ∀ 𝑑 ∈ Pred ( E , On , 𝑏 ) 𝜃 ) ↔ ( ∀ 𝑐𝑎𝑑𝑏 𝜒 ∧ ∀ 𝑐𝑎 𝜓 ∧ ∀ 𝑑𝑏 𝜃 ) ) )
22 21 6 sylbid ( ( 𝑎 ∈ On ∧ 𝑏 ∈ On ) → ( ( ∀ 𝑐 ∈ Pred ( E , On , 𝑎 ) ∀ 𝑑 ∈ Pred ( E , On , 𝑏 ) 𝜒 ∧ ∀ 𝑐 ∈ Pred ( E , On , 𝑎 ) 𝜓 ∧ ∀ 𝑑 ∈ Pred ( E , On , 𝑏 ) 𝜃 ) → 𝜑 ) )
23 7 11 12 7 11 12 1 2 3 4 5 22 xpord2ind ( ( 𝑋 ∈ On ∧ 𝑌 ∈ On ) → 𝜂 )