Metamath Proof Explorer


Theorem bnj1204

Description: Well-founded induction. The proof has been taken from Chapter 4 of Don Monk's notes on Set Theory. See http://euclid.colorado.edu/~monkd/setth.pdf . (Contributed by Jonathan Ben-Naim, 3-Jun-2011) (New usage is discouraged.)

Ref Expression
Hypothesis bnj1204.1 ( 𝜓 ↔ ∀ 𝑦𝐴 ( 𝑦 𝑅 𝑥[ 𝑦 / 𝑥 ] 𝜑 ) )
Assertion bnj1204 ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ) → ∀ 𝑥𝐴 𝜑 )

Proof

Step Hyp Ref Expression
1 bnj1204.1 ( 𝜓 ↔ ∀ 𝑦𝐴 ( 𝑦 𝑅 𝑥[ 𝑦 / 𝑥 ] 𝜑 ) )
2 simp1 ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) → 𝑅 FrSe 𝐴 )
3 ssrab2 { 𝑥𝐴 ∣ ¬ 𝜑 } ⊆ 𝐴
4 3 a1i ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) → { 𝑥𝐴 ∣ ¬ 𝜑 } ⊆ 𝐴 )
5 simp3 ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) → ∃ 𝑥𝐴 ¬ 𝜑 )
6 rabn0 ( { 𝑥𝐴 ∣ ¬ 𝜑 } ≠ ∅ ↔ ∃ 𝑥𝐴 ¬ 𝜑 )
7 5 6 sylibr ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) → { 𝑥𝐴 ∣ ¬ 𝜑 } ≠ ∅ )
8 nfrab1 𝑥 { 𝑥𝐴 ∣ ¬ 𝜑 }
9 8 nfcrii ( 𝑧 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } → ∀ 𝑥 𝑧 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } )
10 9 bnj1228 ( ( 𝑅 FrSe 𝐴 ∧ { 𝑥𝐴 ∣ ¬ 𝜑 } ⊆ 𝐴 ∧ { 𝑥𝐴 ∣ ¬ 𝜑 } ≠ ∅ ) → ∃ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 )
11 2 4 7 10 syl3anc ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) → ∃ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 )
12 biid ( ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) ∧ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) ↔ ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) ∧ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) )
13 nfv 𝑥 𝑅 FrSe 𝐴
14 nfra1 𝑥𝑥𝐴 ( 𝜓𝜑 )
15 nfre1 𝑥𝑥𝐴 ¬ 𝜑
16 13 14 15 nf3an 𝑥 ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 )
17 16 nf5ri ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) → ∀ 𝑥 ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) )
18 11 12 17 bnj1521 ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) → ∃ 𝑥 ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) ∧ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) )
19 eqid { 𝑥𝐴 ∣ ¬ 𝜑 } = { 𝑥𝐴 ∣ ¬ 𝜑 }
20 19 12 bnj1212 ( ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) ∧ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → 𝑥𝐴 )
21 nfra1 𝑦𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥
22 simp3 ( ( 𝑦𝐴𝑦 𝑅 𝑥 ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 )
23 22 bnj1211 ( ( 𝑦𝐴𝑦 𝑅 𝑥 ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → ∀ 𝑦 ( 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } → ¬ 𝑦 𝑅 𝑥 ) )
24 con2b ( ( 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } → ¬ 𝑦 𝑅 𝑥 ) ↔ ( 𝑦 𝑅 𝑥 → ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ) )
25 24 albii ( ∀ 𝑦 ( 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } → ¬ 𝑦 𝑅 𝑥 ) ↔ ∀ 𝑦 ( 𝑦 𝑅 𝑥 → ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ) )
26 23 25 sylib ( ( 𝑦𝐴𝑦 𝑅 𝑥 ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → ∀ 𝑦 ( 𝑦 𝑅 𝑥 → ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ) )
27 simp2 ( ( 𝑦𝐴𝑦 𝑅 𝑥 ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → 𝑦 𝑅 𝑥 )
28 sp ( ∀ 𝑦 ( 𝑦 𝑅 𝑥 → ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ) → ( 𝑦 𝑅 𝑥 → ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ) )
29 26 27 28 sylc ( ( 𝑦𝐴𝑦 𝑅 𝑥 ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } )
30 simp1 ( ( 𝑦𝐴𝑦 𝑅 𝑥 ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → 𝑦𝐴 )
31 nfcv 𝑥 𝐴
32 31 elrabsf ( 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ↔ ( 𝑦𝐴[ 𝑦 / 𝑥 ] ¬ 𝜑 ) )
33 vex 𝑦 ∈ V
34 sbcng ( 𝑦 ∈ V → ( [ 𝑦 / 𝑥 ] ¬ 𝜑 ↔ ¬ [ 𝑦 / 𝑥 ] 𝜑 ) )
35 33 34 ax-mp ( [ 𝑦 / 𝑥 ] ¬ 𝜑 ↔ ¬ [ 𝑦 / 𝑥 ] 𝜑 )
36 35 anbi2i ( ( 𝑦𝐴[ 𝑦 / 𝑥 ] ¬ 𝜑 ) ↔ ( 𝑦𝐴 ∧ ¬ [ 𝑦 / 𝑥 ] 𝜑 ) )
37 32 36 bitri ( 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ↔ ( 𝑦𝐴 ∧ ¬ [ 𝑦 / 𝑥 ] 𝜑 ) )
38 37 notbii ( ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ↔ ¬ ( 𝑦𝐴 ∧ ¬ [ 𝑦 / 𝑥 ] 𝜑 ) )
39 imnan ( ( 𝑦𝐴 → ¬ ¬ [ 𝑦 / 𝑥 ] 𝜑 ) ↔ ¬ ( 𝑦𝐴 ∧ ¬ [ 𝑦 / 𝑥 ] 𝜑 ) )
40 38 39 sylbb2 ( ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } → ( 𝑦𝐴 → ¬ ¬ [ 𝑦 / 𝑥 ] 𝜑 ) )
41 40 imp ( ( ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ 𝑦𝐴 ) → ¬ ¬ [ 𝑦 / 𝑥 ] 𝜑 )
42 41 notnotrd ( ( ¬ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ 𝑦𝐴 ) → [ 𝑦 / 𝑥 ] 𝜑 )
43 29 30 42 syl2anc ( ( 𝑦𝐴𝑦 𝑅 𝑥 ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → [ 𝑦 / 𝑥 ] 𝜑 )
44 43 3expa ( ( ( 𝑦𝐴𝑦 𝑅 𝑥 ) ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → [ 𝑦 / 𝑥 ] 𝜑 )
45 44 expcom ( ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 → ( ( 𝑦𝐴𝑦 𝑅 𝑥 ) → [ 𝑦 / 𝑥 ] 𝜑 ) )
46 45 expd ( ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 → ( 𝑦𝐴 → ( 𝑦 𝑅 𝑥[ 𝑦 / 𝑥 ] 𝜑 ) ) )
47 21 46 ralrimi ( ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 → ∀ 𝑦𝐴 ( 𝑦 𝑅 𝑥[ 𝑦 / 𝑥 ] 𝜑 ) )
48 47 1 sylibr ( ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥𝜓 )
49 48 3ad2ant3 ( ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) ∧ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → 𝜓 )
50 simp12 ( ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) ∧ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → ∀ 𝑥𝐴 ( 𝜓𝜑 ) )
51 simp3 ( ( 𝑥𝐴𝜓 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ) → ∀ 𝑥𝐴 ( 𝜓𝜑 ) )
52 51 bnj1211 ( ( 𝑥𝐴𝜓 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ) → ∀ 𝑥 ( 𝑥𝐴 → ( 𝜓𝜑 ) ) )
53 simp1 ( ( 𝑥𝐴𝜓 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ) → 𝑥𝐴 )
54 simp2 ( ( 𝑥𝐴𝜓 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ) → 𝜓 )
55 sp ( ∀ 𝑥 ( 𝑥𝐴 → ( 𝜓𝜑 ) ) → ( 𝑥𝐴 → ( 𝜓𝜑 ) ) )
56 52 53 54 55 syl3c ( ( 𝑥𝐴𝜓 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ) → 𝜑 )
57 20 49 50 56 syl3anc ( ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) ∧ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → 𝜑 )
58 rabid ( 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ↔ ( 𝑥𝐴 ∧ ¬ 𝜑 ) )
59 58 simprbi ( 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } → ¬ 𝜑 )
60 59 3ad2ant2 ( ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 ) ∧ 𝑥 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ∧ ∀ 𝑦 ∈ { 𝑥𝐴 ∣ ¬ 𝜑 } ¬ 𝑦 𝑅 𝑥 ) → ¬ 𝜑 )
61 18 57 60 bnj1304 ¬ ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ∧ ∃ 𝑥𝐴 ¬ 𝜑 )
62 61 bnj1224 ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ) → ¬ ∃ 𝑥𝐴 ¬ 𝜑 )
63 dfral2 ( ∀ 𝑥𝐴 𝜑 ↔ ¬ ∃ 𝑥𝐴 ¬ 𝜑 )
64 62 63 sylibr ( ( 𝑅 FrSe 𝐴 ∧ ∀ 𝑥𝐴 ( 𝜓𝜑 ) ) → ∀ 𝑥𝐴 𝜑 )