Metamath Proof Explorer


Theorem 2nn0ind

Description: Induction on nonnegative integers with two base cases, for use with Lucas-type sequences. (Contributed by Stefan O'Rear, 1-Oct-2014)

Ref Expression
Hypotheses 2nn0ind.1 ⊢ ψ
2nn0ind.2 ⊢ χ
2nn0ind.3 ⊢ y ∈ ℕ → θ ∧ τ → η
2nn0ind.4 ⊢ x = 0 → φ ↔ ψ
2nn0ind.5 ⊢ x = 1 → φ ↔ χ
2nn0ind.6 ⊢ x = y − 1 → φ ↔ θ
2nn0ind.7 ⊢ x = y → φ ↔ τ
2nn0ind.8 ⊢ x = y + 1 → φ ↔ η
2nn0ind.9 ⊢ x = A → φ ↔ ρ
Assertion 2nn0ind ⊢ A ∈ ℕ 0 → ρ

Proof

Step Hyp Ref Expression
1 2nn0ind.1 ⊢ ψ
2 2nn0ind.2 ⊢ χ
3 2nn0ind.3 ⊢ y ∈ ℕ → θ ∧ τ → η
4 2nn0ind.4 ⊢ x = 0 → φ ↔ ψ
5 2nn0ind.5 ⊢ x = 1 → φ ↔ χ
6 2nn0ind.6 ⊢ x = y − 1 → φ ↔ θ
7 2nn0ind.7 ⊢ x = y → φ ↔ τ
8 2nn0ind.8 ⊢ x = y + 1 → φ ↔ η
9 2nn0ind.9 ⊢ x = A → φ ↔ ρ
10 nn0p1nn ⊢ A ∈ ℕ 0 → A + 1 ∈ ℕ
11 oveq1 ⊢ a = 1 → a − 1 = 1 − 1
12 11 sbceq1d ⊢ a = 1 → [˙a − 1 / x]˙ φ ↔ [˙ 1 − 1 / x]˙ φ
13 dfsbcq ⊢ a = 1 → [˙a / x]˙ φ ↔ [˙ 1 / x]˙ φ
14 12 13 anbi12d ⊢ a = 1 → [˙a − 1 / x]˙ φ ∧ [˙a / x]˙ φ ↔ [˙ 1 − 1 / x]˙ φ ∧ [˙ 1 / x]˙ φ
15 oveq1 ⊢ a = y → a − 1 = y − 1
16 15 sbceq1d ⊢ a = y → [˙a − 1 / x]˙ φ ↔ [˙y − 1 / x]˙ φ
17 dfsbcq ⊢ a = y → [˙a / x]˙ φ ↔ [˙y / x]˙ φ
18 16 17 anbi12d ⊢ a = y → [˙a − 1 / x]˙ φ ∧ [˙a / x]˙ φ ↔ [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ
19 oveq1 ⊢ a = y + 1 → a − 1 = y + 1 - 1
20 19 sbceq1d ⊢ a = y + 1 → [˙a − 1 / x]˙ φ ↔ [˙y + 1 - 1 / x]˙ φ
21 dfsbcq ⊢ a = y + 1 → [˙a / x]˙ φ ↔ [˙y + 1 / x]˙ φ
22 20 21 anbi12d ⊢ a = y + 1 → [˙a − 1 / x]˙ φ ∧ [˙a / x]˙ φ ↔ [˙y + 1 - 1 / x]˙ φ ∧ [˙y + 1 / x]˙ φ
23 oveq1 ⊢ a = A + 1 → a − 1 = A + 1 - 1
24 23 sbceq1d ⊢ a = A + 1 → [˙a − 1 / x]˙ φ ↔ [˙A + 1 - 1 / x]˙ φ
25 dfsbcq ⊢ a = A + 1 → [˙a / x]˙ φ ↔ [˙A + 1 / x]˙ φ
26 24 25 anbi12d ⊢ a = A + 1 → [˙a − 1 / x]˙ φ ∧ [˙a / x]˙ φ ↔ [˙A + 1 - 1 / x]˙ φ ∧ [˙A + 1 / x]˙ φ
27 ovex ⊢ 1 − 1 ∈ V
28 1m1e0 ⊢ 1 − 1 = 0
29 28 eqeq2i ⊢ x = 1 − 1 ↔ x = 0
30 29 4 sylbi ⊢ x = 1 − 1 → φ ↔ ψ
31 27 30 sbcie ⊢ [˙ 1 − 1 / x]˙ φ ↔ ψ
32 1 31 mpbir ⊢ [˙ 1 − 1 / x]˙ φ
33 1ex ⊢ 1 ∈ V
34 33 5 sbcie ⊢ [˙ 1 / x]˙ φ ↔ χ
35 2 34 mpbir ⊢ [˙ 1 / x]˙ φ
36 32 35 pm3.2i ⊢ [˙ 1 − 1 / x]˙ φ ∧ [˙ 1 / x]˙ φ
37 simprr ⊢ y ∈ ℕ ∧ [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ → [˙y / x]˙ φ
38 nncn ⊢ y ∈ ℕ → y ∈ ℂ
39 ax-1cn ⊢ 1 ∈ ℂ
40 pncan ⊢ y ∈ ℂ ∧ 1 ∈ ℂ → y + 1 - 1 = y
41 38 39 40 sylancl ⊢ y ∈ ℕ → y + 1 - 1 = y
42 41 adantr ⊢ y ∈ ℕ ∧ [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ → y + 1 - 1 = y
43 42 sbceq1d ⊢ y ∈ ℕ ∧ [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ → [˙y + 1 - 1 / x]˙ φ ↔ [˙y / x]˙ φ
44 37 43 mpbird ⊢ y ∈ ℕ ∧ [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ → [˙y + 1 - 1 / x]˙ φ
45 ovex ⊢ y − 1 ∈ V
46 45 6 sbcie ⊢ [˙y − 1 / x]˙ φ ↔ θ
47 vex ⊢ y ∈ V
48 47 7 sbcie ⊢ [˙y / x]˙ φ ↔ τ
49 46 48 anbi12i ⊢ [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ ↔ θ ∧ τ
50 ovex ⊢ y + 1 ∈ V
51 50 8 sbcie ⊢ [˙y + 1 / x]˙ φ ↔ η
52 3 49 51 3imtr4g ⊢ y ∈ ℕ → [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ → [˙y + 1 / x]˙ φ
53 52 imp ⊢ y ∈ ℕ ∧ [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ → [˙y + 1 / x]˙ φ
54 44 53 jca ⊢ y ∈ ℕ ∧ [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ → [˙y + 1 - 1 / x]˙ φ ∧ [˙y + 1 / x]˙ φ
55 54 ex ⊢ y ∈ ℕ → [˙y − 1 / x]˙ φ ∧ [˙y / x]˙ φ → [˙y + 1 - 1 / x]˙ φ ∧ [˙y + 1 / x]˙ φ
56 14 18 22 26 36 55 nnind ⊢ A + 1 ∈ ℕ → [˙A + 1 - 1 / x]˙ φ ∧ [˙A + 1 / x]˙ φ
57 10 56 syl ⊢ A ∈ ℕ 0 → [˙A + 1 - 1 / x]˙ φ ∧ [˙A + 1 / x]˙ φ
58 nn0cn ⊢ A ∈ ℕ 0 → A ∈ ℂ
59 pncan ⊢ A ∈ ℂ ∧ 1 ∈ ℂ → A + 1 - 1 = A
60 58 39 59 sylancl ⊢ A ∈ ℕ 0 → A + 1 - 1 = A
61 60 sbceq1d ⊢ A ∈ ℕ 0 → [˙A + 1 - 1 / x]˙ φ ↔ [˙A / x]˙ φ
62 61 biimpa ⊢ A ∈ ℕ 0 ∧ [˙A + 1 - 1 / x]˙ φ → [˙A / x]˙ φ
63 62 adantrr ⊢ A ∈ ℕ 0 ∧ [˙A + 1 - 1 / x]˙ φ ∧ [˙A + 1 / x]˙ φ → [˙A / x]˙ φ
64 57 63 mpdan ⊢ A ∈ ℕ 0 → [˙A / x]˙ φ
65 9 sbcieg ⊢ A ∈ ℕ 0 → [˙A / x]˙ φ ↔ ρ
66 64 65 mpbid ⊢ A ∈ ℕ 0 → ρ