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

Theorem bj-findis 11531
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 11499 for a bounded version not requiring ax-setind 4343. See finds 4405 for a proof in IZF. From this version, it is easy to prove of finds 4405, finds2 4406, finds1 4407. (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 11516 . . . . 5 (𝑧 ∈ ω ↔ (𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦))
2 pm3.21 260 . . . . . . . 8 (𝜓 → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
32ad2antrr 472 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
4 pm2.04 81 . . . . . . . . . . 11 ((𝑦𝑧 → (𝑦 ∈ ω → 𝜒)) → (𝑦 ∈ ω → (𝑦𝑧𝜒)))
54ralimi2 2435 . . . . . . . . . 10 (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜒))
6 imim2 54 . . . . . . . . . . . 12 ((𝜒𝜃) → ((𝑦𝑧𝜒) → (𝑦𝑧𝜃)))
76ral2imi 2439 . . . . . . . . . . 11 (∀𝑦 ∈ ω (𝜒𝜃) → (∀𝑦 ∈ ω (𝑦𝑧𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜃)))
87imp 122 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦 ∈ ω (𝑦𝑧𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
95, 8sylan2 280 . . . . . . . . 9 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
10 r19.29 2506 . . . . . . . . . . 11 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦))
11 vex 2622 . . . . . . . . . . . . . . . 16 𝑦 ∈ V
1211sucid 4235 . . . . . . . . . . . . . . 15 𝑦 ∈ suc 𝑦
13 eleq2 2151 . . . . . . . . . . . . . . 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 2470 . . . . . . . . . . 11 (∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
2110, 20syl 14 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
2221ex 113 . . . . . . . . 9 (∀𝑦 ∈ ω (𝑦𝑧𝜃) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
239, 22syl 14 . . . . . . . 8 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
2423adantll 460 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
253, 24orim12d 735 . . . . . 6 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ((𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))))
2625ex 113 . . . . 5 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ((𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
271, 26syl7bi 163 . . . 4 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
2827alrimiv 1802 . . 3 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
29 nfv 1466 . . . . 5 𝑥 𝑦 ∈ ω
30 bj-findis.nf1 . . . . 5 𝑥𝜒
3129, 30nfim 1509 . . . 4 𝑥(𝑦 ∈ ω → 𝜒)
32 nfv 1466 . . . . 5 𝑥 𝑧 ∈ ω
33 nfv 1466 . . . . . . 7 𝑥 𝑧 = ∅
34 bj-findis.nf0 . . . . . . 7 𝑥𝜓
3533, 34nfan 1502 . . . . . 6 𝑥(𝑧 = ∅ ∧ 𝜓)
36 nfcv 2228 . . . . . . 7 𝑥ω
37 nfv 1466 . . . . . . . 8 𝑥 𝑧 = suc 𝑦
38 bj-findis.nfsuc . . . . . . . 8 𝑥𝜃
3937, 38nfan 1502 . . . . . . 7 𝑥(𝑧 = suc 𝑦𝜃)
4036, 39nfrexxy 2415 . . . . . 6 𝑥𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)
4135, 40nfor 1511 . . . . 5 𝑥((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
4232, 41nfim 1509 . . . 4 𝑥(𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
43 nfv 1466 . . . 4 𝑧(𝑥 ∈ ω → 𝜑)
44 nfv 1466 . . . 4 𝑧(𝑦 ∈ ω → 𝜒)
45 eleq1 2150 . . . . . 6 (𝑥 = 𝑦 → (𝑥 ∈ ω ↔ 𝑦 ∈ ω))
4645biimprd 156 . . . . 5 (𝑥 = 𝑦 → (𝑦 ∈ ω → 𝑥 ∈ ω))
47 bj-findis.1 . . . . 5 (𝑥 = 𝑦 → (𝜑𝜒))
4846, 47imim12d 73 . . . 4 (𝑥 = 𝑦 → ((𝑥 ∈ ω → 𝜑) → (𝑦 ∈ ω → 𝜒)))
49 eleq1 2150 . . . . . 6 (𝑥 = 𝑧 → (𝑥 ∈ ω ↔ 𝑧 ∈ ω))
5049biimpd 142 . . . . 5 (𝑥 = 𝑧 → (𝑥 ∈ ω → 𝑧 ∈ ω))
51 eqtr 2105 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = ∅) → 𝑥 = ∅)
52 bj-findis.0 . . . . . . . 8 (𝑥 = ∅ → (𝜓𝜑))
5351, 52syl 14 . . . . . . 7 ((𝑥 = 𝑧𝑧 = ∅) → (𝜓𝜑))
5453expimpd 355 . . . . . 6 (𝑥 = 𝑧 → ((𝑧 = ∅ ∧ 𝜓) → 𝜑))
55 eqtr 2105 . . . . . . . . 9 ((𝑥 = 𝑧𝑧 = suc 𝑦) → 𝑥 = suc 𝑦)
56 bj-findis.suc . . . . . . . . 9 (𝑥 = suc 𝑦 → (𝜃𝜑))
5755, 56syl 14 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = suc 𝑦) → (𝜃𝜑))
5857expimpd 355 . . . . . . 7 (𝑥 = 𝑧 → ((𝑧 = suc 𝑦𝜃) → 𝜑))
5958rexlimdvw 2492 . . . . . 6 (𝑥 = 𝑧 → (∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃) → 𝜑))
6054, 59jaod 672 . . . . 5 (𝑥 = 𝑧 → (((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)) → 𝜑))
6150, 60imim12d 73 . . . 4 (𝑥 = 𝑧 → ((𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))) → (𝑥 ∈ ω → 𝜑)))
6231, 42, 43, 44, 48, 61setindis 11519 . . 3 (∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))) → ∀𝑥(𝑥 ∈ ω → 𝜑))
6328, 62syl 14 . 2 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥(𝑥 ∈ ω → 𝜑))
64 df-ral 2364 . 2 (∀𝑥 ∈ ω 𝜑 ↔ ∀𝑥(𝑥 ∈ ω → 𝜑))
6563, 64sylibr 132 1 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥 ∈ ω 𝜑)
Colors of variables: wff set class
Syntax hints:  wi 4  wa 102  wo 664  wal 1287   = wceq 1289  wnf 1394  wcel 1438  wral 2359  wrex 2360  c0 3284  suc csuc 4183  ωcom 4395
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 579  ax-in2 580  ax-io 665  ax-5 1381  ax-7 1382  ax-gen 1383  ax-ie1 1427  ax-ie2 1428  ax-8 1440  ax-10 1441  ax-11 1442  ax-i12 1443  ax-bndl 1444  ax-4 1445  ax-13 1449  ax-14 1450  ax-17 1464  ax-i9 1468  ax-ial 1472  ax-i5r 1473  ax-ext 2070  ax-nul 3957  ax-pr 4027  ax-un 4251  ax-setind 4343  ax-bd0 11361  ax-bdim 11362  ax-bdan 11363  ax-bdor 11364  ax-bdn 11365  ax-bdal 11366  ax-bdex 11367  ax-bdeq 11368  ax-bdel 11369  ax-bdsb 11370  ax-bdsep 11432  ax-infvn 11493
This theorem depends on definitions:  df-bi 115  df-tru 1292  df-fal 1295  df-nf 1395  df-sb 1693  df-clab 2075  df-cleq 2081  df-clel 2084  df-nfc 2217  df-ral 2364  df-rex 2365  df-rab 2368  df-v 2621  df-dif 2999  df-un 3001  df-in 3003  df-ss 3010  df-nul 3285  df-sn 3447  df-pr 3448  df-uni 3649  df-int 3684  df-suc 4189  df-iom 4396  df-bdc 11389  df-bj-ind 11479
This theorem is referenced by:  bj-findisg  11532  bj-findes  11533
  Copyright terms: Public domain W3C validator