Metamath Proof Explorer


Theorem nn0ind-raph

Description: Principle of Mathematical Induction (inference schema) on nonnegative integers. The first four hypotheses give us the substitution instances we need; the last two are the basis and the induction step. Raph Levien remarks: "This seems a bit painful. I wonder if an explicit substitution version would be easier." (Contributed by Raph Levien, 10-Apr-2004)

Ref Expression
Hypotheses nn0ind-raph.1 ⊢ x = 0 → φ ↔ ψ
nn0ind-raph.2 ⊢ x = y → φ ↔ χ
nn0ind-raph.3 ⊢ x = y + 1 → φ ↔ θ
nn0ind-raph.4 ⊢ x = A → φ ↔ τ
nn0ind-raph.5 ⊢ ψ
nn0ind-raph.6 ⊢ y ∈ ℕ 0 → χ → θ
Assertion nn0ind-raph ⊢ A ∈ ℕ 0 → τ

Proof

Step Hyp Ref Expression
1 nn0ind-raph.1 ⊢ x = 0 → φ ↔ ψ
2 nn0ind-raph.2 ⊢ x = y → φ ↔ χ
3 nn0ind-raph.3 ⊢ x = y + 1 → φ ↔ θ
4 nn0ind-raph.4 ⊢ x = A → φ ↔ τ
5 nn0ind-raph.5 ⊢ ψ
6 nn0ind-raph.6 ⊢ y ∈ ℕ 0 → χ → θ
7 elnn0 ⊢ A ∈ ℕ 0 ↔ A ∈ ℕ ∨ A = 0
8 dfsbcq2 ⊢ z = 1 → z x φ ↔ [˙ 1 / x]˙ φ
9 nfv ⊢ Ⅎ x χ
10 9 2 sbhypf ⊢ z = y → z x φ ↔ χ
11 nfv ⊢ Ⅎ x θ
12 11 3 sbhypf ⊢ z = y + 1 → z x φ ↔ θ
13 nfv ⊢ Ⅎ x τ
14 13 4 sbhypf ⊢ z = A → z x φ ↔ τ
15 nfsbc1v ⊢ Ⅎ x [˙ 1 / x]˙ φ
16 1ex ⊢ 1 ∈ V
17 c0ex ⊢ 0 ∈ V
18 0nn0 ⊢ 0 ∈ ℕ 0
19 eleq1a ⊢ 0 ∈ ℕ 0 → y = 0 → y ∈ ℕ 0
20 18 19 ax-mp ⊢ y = 0 → y ∈ ℕ 0
21 5 1 mpbiri ⊢ x = 0 → φ
22 eqeq2 ⊢ y = 0 → x = y ↔ x = 0
23 22 2 biimtrrdi ⊢ y = 0 → x = 0 → φ ↔ χ
24 23 pm5.74d ⊢ y = 0 → x = 0 → φ ↔ x = 0 → χ
25 21 24 mpbii ⊢ y = 0 → x = 0 → χ
26 25 com12 ⊢ x = 0 → y = 0 → χ
27 17 26 vtocle ⊢ y = 0 → χ
28 20 27 6 sylc ⊢ y = 0 → θ
29 28 adantr ⊢ y = 0 ∧ x = 1 → θ
30 oveq1 ⊢ y = 0 → y + 1 = 0 + 1
31 0p1e1 ⊢ 0 + 1 = 1
32 30 31 eqtrdi ⊢ y = 0 → y + 1 = 1
33 32 eqeq2d ⊢ y = 0 → x = y + 1 ↔ x = 1
34 33 3 biimtrrdi ⊢ y = 0 → x = 1 → φ ↔ θ
35 34 imp ⊢ y = 0 ∧ x = 1 → φ ↔ θ
36 29 35 mpbird ⊢ y = 0 ∧ x = 1 → φ
37 36 ex ⊢ y = 0 → x = 1 → φ
38 17 37 vtocle ⊢ x = 1 → φ
39 sbceq1a ⊢ x = 1 → φ ↔ [˙ 1 / x]˙ φ
40 38 39 mpbid ⊢ x = 1 → [˙ 1 / x]˙ φ
41 15 16 40 vtoclef ⊢ [˙ 1 / x]˙ φ
42 nnnn0 ⊢ y ∈ ℕ → y ∈ ℕ 0
43 42 6 syl ⊢ y ∈ ℕ → χ → θ
44 8 10 12 14 41 43 nnind ⊢ A ∈ ℕ → τ
45 nfv ⊢ Ⅎ x 0 = A → τ
46 eqeq1 ⊢ x = 0 → x = A ↔ 0 = A
47 1 bicomd ⊢ x = 0 → ψ ↔ φ
48 47 4 sylan9bb ⊢ x = 0 ∧ x = A → ψ ↔ τ
49 5 48 mpbii ⊢ x = 0 ∧ x = A → τ
50 49 ex ⊢ x = 0 → x = A → τ
51 46 50 sylbird ⊢ x = 0 → 0 = A → τ
52 45 17 51 vtoclef ⊢ 0 = A → τ
53 52 eqcoms ⊢ A = 0 → τ
54 44 53 jaoi ⊢ A ∈ ℕ ∨ A = 0 → τ
55 7 54 sylbi ⊢ A ∈ ℕ 0 → τ