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

Theorem bj-findis 13348
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 13316 for a bounded version not requiring ax-setind 4460. See finds 4522 for a proof in IZF. From this version, it is easy to prove of finds 4522, finds2 4523, finds1 4524. (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 13333 . . . . 5 (𝑧 ∈ ω ↔ (𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦))
2 pm3.21 262 . . . . . . . 8 (𝜓 → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
32ad2antrr 480 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
4 pm2.04 82 . . . . . . . . . . 11 ((𝑦𝑧 → (𝑦 ∈ ω → 𝜒)) → (𝑦 ∈ ω → (𝑦𝑧𝜒)))
54ralimi2 2495 . . . . . . . . . 10 (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜒))
6 imim2 55 . . . . . . . . . . . 12 ((𝜒𝜃) → ((𝑦𝑧𝜒) → (𝑦𝑧𝜃)))
76ral2imi 2500 . . . . . . . . . . 11 (∀𝑦 ∈ ω (𝜒𝜃) → (∀𝑦 ∈ ω (𝑦𝑧𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜃)))
87imp 123 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦 ∈ ω (𝑦𝑧𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
95, 8sylan2 284 . . . . . . . . 9 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
10 r19.29 2572 . . . . . . . . . . 11 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦))
11 vex 2692 . . . . . . . . . . . . . . . 16 𝑦 ∈ V
1211sucid 4347 . . . . . . . . . . . . . . 15 𝑦 ∈ suc 𝑦
13 eleq2 2204 . . . . . . . . . . . . . . 15 (𝑧 = suc 𝑦 → (𝑦𝑧𝑦 ∈ suc 𝑦))
1412, 13mpbiri 167 . . . . . . . . . . . . . 14 (𝑧 = suc 𝑦𝑦𝑧)
15 ax-1 6 . . . . . . . . . . . . . . 15 (𝑧 = suc 𝑦 → ((𝑦𝑧𝜃) → 𝑧 = suc 𝑦))
16 pm2.27 40 . . . . . . . . . . . . . . 15 (𝑦𝑧 → ((𝑦𝑧𝜃) → 𝜃))
1715, 16anim12ii 341 . . . . . . . . . . . . . 14 ((𝑧 = suc 𝑦𝑦𝑧) → ((𝑦𝑧𝜃) → (𝑧 = suc 𝑦𝜃)))
1814, 17mpdan 418 . . . . . . . . . . . . 13 (𝑧 = suc 𝑦 → ((𝑦𝑧𝜃) → (𝑧 = suc 𝑦𝜃)))
1918impcom 124 . . . . . . . . . . . 12 (((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦) → (𝑧 = suc 𝑦𝜃))
2019reximi 2532 . . . . . . . . . . 11 (∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
2110, 20syl 14 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
2221ex 114 . . . . . . . . 9 (∀𝑦 ∈ ω (𝑦𝑧𝜃) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
239, 22syl 14 . . . . . . . 8 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
2423adantll 468 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
253, 24orim12d 776 . . . . . 6 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ((𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))))
2625ex 114 . . . . 5 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ((𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
271, 26syl7bi 164 . . . 4 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
2827alrimiv 1847 . . 3 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
29 nfv 1509 . . . . 5 𝑥 𝑦 ∈ ω
30 bj-findis.nf1 . . . . 5 𝑥𝜒
3129, 30nfim 1552 . . . 4 𝑥(𝑦 ∈ ω → 𝜒)
32 nfv 1509 . . . . 5 𝑥 𝑧 ∈ ω
33 nfv 1509 . . . . . . 7 𝑥 𝑧 = ∅
34 bj-findis.nf0 . . . . . . 7 𝑥𝜓
3533, 34nfan 1545 . . . . . 6 𝑥(𝑧 = ∅ ∧ 𝜓)
36 nfcv 2282 . . . . . . 7 𝑥ω
37 nfv 1509 . . . . . . . 8 𝑥 𝑧 = suc 𝑦
38 bj-findis.nfsuc . . . . . . . 8 𝑥𝜃
3937, 38nfan 1545 . . . . . . 7 𝑥(𝑧 = suc 𝑦𝜃)
4036, 39nfrexxy 2475 . . . . . 6 𝑥𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)
4135, 40nfor 1554 . . . . 5 𝑥((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
4232, 41nfim 1552 . . . 4 𝑥(𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
43 nfv 1509 . . . 4 𝑧(𝑥 ∈ ω → 𝜑)
44 nfv 1509 . . . 4 𝑧(𝑦 ∈ ω → 𝜒)
45 eleq1 2203 . . . . . 6 (𝑥 = 𝑦 → (𝑥 ∈ ω ↔ 𝑦 ∈ ω))
4645biimprd 157 . . . . 5 (𝑥 = 𝑦 → (𝑦 ∈ ω → 𝑥 ∈ ω))
47 bj-findis.1 . . . . 5 (𝑥 = 𝑦 → (𝜑𝜒))
4846, 47imim12d 74 . . . 4 (𝑥 = 𝑦 → ((𝑥 ∈ ω → 𝜑) → (𝑦 ∈ ω → 𝜒)))
49 eleq1 2203 . . . . . 6 (𝑥 = 𝑧 → (𝑥 ∈ ω ↔ 𝑧 ∈ ω))
5049biimpd 143 . . . . 5 (𝑥 = 𝑧 → (𝑥 ∈ ω → 𝑧 ∈ ω))
51 eqtr 2158 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = ∅) → 𝑥 = ∅)
52 bj-findis.0 . . . . . . . 8 (𝑥 = ∅ → (𝜓𝜑))
5351, 52syl 14 . . . . . . 7 ((𝑥 = 𝑧𝑧 = ∅) → (𝜓𝜑))
5453expimpd 361 . . . . . 6 (𝑥 = 𝑧 → ((𝑧 = ∅ ∧ 𝜓) → 𝜑))
55 eqtr 2158 . . . . . . . . 9 ((𝑥 = 𝑧𝑧 = suc 𝑦) → 𝑥 = suc 𝑦)
56 bj-findis.suc . . . . . . . . 9 (𝑥 = suc 𝑦 → (𝜃𝜑))
5755, 56syl 14 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = suc 𝑦) → (𝜃𝜑))
5857expimpd 361 . . . . . . 7 (𝑥 = 𝑧 → ((𝑧 = suc 𝑦𝜃) → 𝜑))
5958rexlimdvw 2556 . . . . . 6 (𝑥 = 𝑧 → (∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃) → 𝜑))
6054, 59jaod 707 . . . . 5 (𝑥 = 𝑧 → (((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)) → 𝜑))
6150, 60imim12d 74 . . . 4 (𝑥 = 𝑧 → ((𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))) → (𝑥 ∈ ω → 𝜑)))
6231, 42, 43, 44, 48, 61setindis 13336 . . 3 (∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))) → ∀𝑥(𝑥 ∈ ω → 𝜑))
6328, 62syl 14 . 2 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥(𝑥 ∈ ω → 𝜑))
64 df-ral 2422 . 2 (∀𝑥 ∈ ω 𝜑 ↔ ∀𝑥(𝑥 ∈ ω → 𝜑))
6563, 64sylibr 133 1 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥 ∈ ω 𝜑)
Colors of variables: wff set class
Syntax hints:  wi 4  wa 103  wo 698  wal 1330   = wceq 1332  wnf 1437  wcel 1481  wral 2417  wrex 2418  c0 3368  suc csuc 4295  ωcom 4512
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 604  ax-in2 605  ax-io 699  ax-5 1424  ax-7 1425  ax-gen 1426  ax-ie1 1470  ax-ie2 1471  ax-8 1483  ax-10 1484  ax-11 1485  ax-i12 1486  ax-bndl 1487  ax-4 1488  ax-13 1492  ax-14 1493  ax-17 1507  ax-i9 1511  ax-ial 1515  ax-i5r 1516  ax-ext 2122  ax-nul 4062  ax-pr 4139  ax-un 4363  ax-setind 4460  ax-bd0 13182  ax-bdim 13183  ax-bdan 13184  ax-bdor 13185  ax-bdn 13186  ax-bdal 13187  ax-bdex 13188  ax-bdeq 13189  ax-bdel 13190  ax-bdsb 13191  ax-bdsep 13253  ax-infvn 13310
This theorem depends on definitions:  df-bi 116  df-tru 1335  df-fal 1338  df-nf 1438  df-sb 1737  df-clab 2127  df-cleq 2133  df-clel 2136  df-nfc 2271  df-ral 2422  df-rex 2423  df-rab 2426  df-v 2691  df-dif 3078  df-un 3080  df-in 3082  df-ss 3089  df-nul 3369  df-sn 3538  df-pr 3539  df-uni 3745  df-int 3780  df-suc 4301  df-iom 4513  df-bdc 13210  df-bj-ind 13296
This theorem is referenced by:  bj-findisg  13349  bj-findes  13350
  Copyright terms: Public domain W3C validator