Users' Mathboxes Mathbox for BJ < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >   Mathboxes  >  bj-findis GIF version

Theorem bj-findis 10774
Description: Principle of induction, using implicit substitutions (the biconditional versions of the hypotheses are implicit substitutions, and we have weakened them to implications). Constructive proof (from CZF). See bj-bdfindis 10742 for a bounded version not requiring ax-setind 4280. See finds 4341 for a proof in IZF. From this version, it is easy to prove of finds 4341, finds2 4342, finds1 4343. (Contributed by BJ, 22-Dec-2019.) (Proof modification is discouraged.)
Hypotheses
Ref Expression
bj-findis.nf0 𝑥𝜓
bj-findis.nf1 𝑥𝜒
bj-findis.nfsuc 𝑥𝜃
bj-findis.0 (𝑥 = ∅ → (𝜓𝜑))
bj-findis.1 (𝑥 = 𝑦 → (𝜑𝜒))
bj-findis.suc (𝑥 = suc 𝑦 → (𝜃𝜑))
Assertion
Ref Expression
bj-findis ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥 ∈ ω 𝜑)
Distinct variable groups:   𝑥,𝑦   𝜑,𝑦
Allowed substitution hints:   𝜑(𝑥)   𝜓(𝑥,𝑦)   𝜒(𝑥,𝑦)   𝜃(𝑥,𝑦)

Proof of Theorem bj-findis
Dummy variable 𝑧 is distinct from all other variables.
StepHypRef Expression
1 bj-nn0suc 10759 . . . . 5 (𝑧 ∈ ω ↔ (𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦))
2 pm3.21 260 . . . . . . . 8 (𝜓 → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
32ad2antrr 471 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
4 pm2.04 81 . . . . . . . . . . 11 ((𝑦𝑧 → (𝑦 ∈ ω → 𝜒)) → (𝑦 ∈ ω → (𝑦𝑧𝜒)))
54ralimi2 2423 . . . . . . . . . 10 (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜒))
6 imim2 54 . . . . . . . . . . . 12 ((𝜒𝜃) → ((𝑦𝑧𝜒) → (𝑦𝑧𝜃)))
76ral2imi 2427 . . . . . . . . . . 11 (∀𝑦 ∈ ω (𝜒𝜃) → (∀𝑦 ∈ ω (𝑦𝑧𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜃)))
87imp 122 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦 ∈ ω (𝑦𝑧𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
95, 8sylan2 280 . . . . . . . . 9 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
10 r19.29 2494 . . . . . . . . . . 11 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦))
11 vex 2604 . . . . . . . . . . . . . . . 16 𝑦 ∈ V
1211sucid 4172 . . . . . . . . . . . . . . 15 𝑦 ∈ suc 𝑦
13 eleq2 2142 . . . . . . . . . . . . . . 15 (𝑧 = suc 𝑦 → (𝑦𝑧𝑦 ∈ suc 𝑦))
1412, 13mpbiri 166 . . . . . . . . . . . . . 14 (𝑧 = suc 𝑦𝑦𝑧)
15 ax-1 5 . . . . . . . . . . . . . . 15 (𝑧 = suc 𝑦 → ((𝑦𝑧𝜃) → 𝑧 = suc 𝑦))
16 pm2.27 39 . . . . . . . . . . . . . . 15 (𝑦𝑧 → ((𝑦𝑧𝜃) → 𝜃))
1715, 16anim12ii 335 . . . . . . . . . . . . . 14 ((𝑧 = suc 𝑦𝑦𝑧) → ((𝑦𝑧𝜃) → (𝑧 = suc 𝑦𝜃)))
1814, 17mpdan 412 . . . . . . . . . . . . 13 (𝑧 = suc 𝑦 → ((𝑦𝑧𝜃) → (𝑧 = suc 𝑦𝜃)))
1918impcom 123 . . . . . . . . . . . 12 (((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦) → (𝑧 = suc 𝑦𝜃))
2019reximi 2458 . . . . . . . . . . 11 (∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
2110, 20syl 14 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
2221ex 113 . . . . . . . . 9 (∀𝑦 ∈ ω (𝑦𝑧𝜃) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
239, 22syl 14 . . . . . . . 8 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
2423adantll 459 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
253, 24orim12d 732 . . . . . 6 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ((𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))))
2625ex 113 . . . . 5 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ((𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
271, 26syl7bi 163 . . . 4 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
2827alrimiv 1795 . . 3 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
29 nfv 1461 . . . . 5 𝑥 𝑦 ∈ ω
30 bj-findis.nf1 . . . . 5 𝑥𝜒
3129, 30nfim 1504 . . . 4 𝑥(𝑦 ∈ ω → 𝜒)
32 nfv 1461 . . . . 5 𝑥 𝑧 ∈ ω
33 nfv 1461 . . . . . . 7 𝑥 𝑧 = ∅
34 bj-findis.nf0 . . . . . . 7 𝑥𝜓
3533, 34nfan 1497 . . . . . 6 𝑥(𝑧 = ∅ ∧ 𝜓)
36 nfcv 2219 . . . . . . 7 𝑥ω
37 nfv 1461 . . . . . . . 8 𝑥 𝑧 = suc 𝑦
38 bj-findis.nfsuc . . . . . . . 8 𝑥𝜃
3937, 38nfan 1497 . . . . . . 7 𝑥(𝑧 = suc 𝑦𝜃)
4036, 39nfrexxy 2403 . . . . . 6 𝑥𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)
4135, 40nfor 1506 . . . . 5 𝑥((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
4232, 41nfim 1504 . . . 4 𝑥(𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
43 nfv 1461 . . . 4 𝑧(𝑥 ∈ ω → 𝜑)
44 nfv 1461 . . . 4 𝑧(𝑦 ∈ ω → 𝜒)
45 eleq1 2141 . . . . . 6 (𝑥 = 𝑦 → (𝑥 ∈ ω ↔ 𝑦 ∈ ω))
4645biimprd 156 . . . . 5 (𝑥 = 𝑦 → (𝑦 ∈ ω → 𝑥 ∈ ω))
47 bj-findis.1 . . . . 5 (𝑥 = 𝑦 → (𝜑𝜒))
4846, 47imim12d 73 . . . 4 (𝑥 = 𝑦 → ((𝑥 ∈ ω → 𝜑) → (𝑦 ∈ ω → 𝜒)))
49 eleq1 2141 . . . . . 6 (𝑥 = 𝑧 → (𝑥 ∈ ω ↔ 𝑧 ∈ ω))
5049biimpd 142 . . . . 5 (𝑥 = 𝑧 → (𝑥 ∈ ω → 𝑧 ∈ ω))
51 eqtr 2098 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = ∅) → 𝑥 = ∅)
52 bj-findis.0 . . . . . . . 8 (𝑥 = ∅ → (𝜓𝜑))
5351, 52syl 14 . . . . . . 7 ((𝑥 = 𝑧𝑧 = ∅) → (𝜓𝜑))
5453expimpd 355 . . . . . 6 (𝑥 = 𝑧 → ((𝑧 = ∅ ∧ 𝜓) → 𝜑))
55 eqtr 2098 . . . . . . . . 9 ((𝑥 = 𝑧𝑧 = suc 𝑦) → 𝑥 = suc 𝑦)
56 bj-findis.suc . . . . . . . . 9 (𝑥 = suc 𝑦 → (𝜃𝜑))
5755, 56syl 14 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = suc 𝑦) → (𝜃𝜑))
5857expimpd 355 . . . . . . 7 (𝑥 = 𝑧 → ((𝑧 = suc 𝑦𝜃) → 𝜑))
5958rexlimdvw 2480 . . . . . 6 (𝑥 = 𝑧 → (∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃) → 𝜑))
6054, 59jaod 669 . . . . 5 (𝑥 = 𝑧 → (((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)) → 𝜑))
6150, 60imim12d 73 . . . 4 (𝑥 = 𝑧 → ((𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))) → (𝑥 ∈ ω → 𝜑)))
6231, 42, 43, 44, 48, 61setindis 10762 . . 3 (∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))) → ∀𝑥(𝑥 ∈ ω → 𝜑))
6328, 62syl 14 . 2 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥(𝑥 ∈ ω → 𝜑))
64 df-ral 2353 . 2 (∀𝑥 ∈ ω 𝜑 ↔ ∀𝑥(𝑥 ∈ ω → 𝜑))
6563, 64sylibr 132 1 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥 ∈ ω 𝜑)
Colors of variables: wff set class
Syntax hints:  wi 4  wa 102  wo 661  wal 1282   = wceq 1284  wnf 1389  wcel 1433  wral 2348  wrex 2349  c0 3251  suc csuc 4120  ωcom 4331
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 104  ax-ia2 105  ax-ia3 106  ax-in1 576  ax-in2 577  ax-io 662  ax-5 1376  ax-7 1377  ax-gen 1378  ax-ie1 1422  ax-ie2 1423  ax-8 1435  ax-10 1436  ax-11 1437  ax-i12 1438  ax-bndl 1439  ax-4 1440  ax-13 1444  ax-14 1445  ax-17 1459  ax-i9 1463  ax-ial 1467  ax-i5r 1468  ax-ext 2063  ax-nul 3904  ax-pr 3964  ax-un 4188  ax-setind 4280  ax-bd0 10604  ax-bdim 10605  ax-bdan 10606  ax-bdor 10607  ax-bdn 10608  ax-bdal 10609  ax-bdex 10610  ax-bdeq 10611  ax-bdel 10612  ax-bdsb 10613  ax-bdsep 10675  ax-infvn 10736
This theorem depends on definitions:  df-bi 115  df-tru 1287  df-fal 1290  df-nf 1390  df-sb 1686  df-clab 2068  df-cleq 2074  df-clel 2077  df-nfc 2208  df-ral 2353  df-rex 2354  df-rab 2357  df-v 2603  df-dif 2975  df-un 2977  df-in 2979  df-ss 2986  df-nul 3252  df-sn 3404  df-pr 3405  df-uni 3602  df-int 3637  df-suc 4126  df-iom 4332  df-bdc 10632  df-bj-ind 10722
This theorem is referenced by:  bj-findisg  10775  bj-findes  10776
  Copyright terms: Public domain W3C validator