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

Theorem bj-findis 13861
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 13829 for a bounded version not requiring ax-setind 4514. See finds 4577 for a proof in IZF. From this version, it is easy to prove of finds 4577, finds2 4578, finds1 4579. (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 13846 . . . . 5 (𝑧 ∈ ω ↔ (𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦))
2 pm3.21 262 . . . . . . . 8 (𝜓 → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
32ad2antrr 480 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
4 pm2.04 82 . . . . . . . . . . 11 ((𝑦𝑧 → (𝑦 ∈ ω → 𝜒)) → (𝑦 ∈ ω → (𝑦𝑧𝜒)))
54ralimi2 2526 . . . . . . . . . 10 (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜒))
6 imim2 55 . . . . . . . . . . . 12 ((𝜒𝜃) → ((𝑦𝑧𝜒) → (𝑦𝑧𝜃)))
76ral2imi 2531 . . . . . . . . . . 11 (∀𝑦 ∈ ω (𝜒𝜃) → (∀𝑦 ∈ ω (𝑦𝑧𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜃)))
87imp 123 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦 ∈ ω (𝑦𝑧𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
95, 8sylan2 284 . . . . . . . . 9 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
10 r19.29 2603 . . . . . . . . . . 11 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦))
11 vex 2729 . . . . . . . . . . . . . . . 16 𝑦 ∈ V
1211sucid 4395 . . . . . . . . . . . . . . 15 𝑦 ∈ suc 𝑦
13 eleq2 2230 . . . . . . . . . . . . . . 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 2563 . . . . . . . . . . 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 1862 . . 3 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
29 nfv 1516 . . . . 5 𝑥 𝑦 ∈ ω
30 bj-findis.nf1 . . . . 5 𝑥𝜒
3129, 30nfim 1560 . . . 4 𝑥(𝑦 ∈ ω → 𝜒)
32 nfv 1516 . . . . 5 𝑥 𝑧 ∈ ω
33 nfv 1516 . . . . . . 7 𝑥 𝑧 = ∅
34 bj-findis.nf0 . . . . . . 7 𝑥𝜓
3533, 34nfan 1553 . . . . . 6 𝑥(𝑧 = ∅ ∧ 𝜓)
36 nfcv 2308 . . . . . . 7 𝑥ω
37 nfv 1516 . . . . . . . 8 𝑥 𝑧 = suc 𝑦
38 bj-findis.nfsuc . . . . . . . 8 𝑥𝜃
3937, 38nfan 1553 . . . . . . 7 𝑥(𝑧 = suc 𝑦𝜃)
4036, 39nfrexxy 2505 . . . . . 6 𝑥𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)
4135, 40nfor 1562 . . . . 5 𝑥((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
4232, 41nfim 1560 . . . 4 𝑥(𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
43 nfv 1516 . . . 4 𝑧(𝑥 ∈ ω → 𝜑)
44 nfv 1516 . . . 4 𝑧(𝑦 ∈ ω → 𝜒)
45 eleq1 2229 . . . . . 6 (𝑥 = 𝑦 → (𝑥 ∈ ω ↔ 𝑦 ∈ ω))
4645biimprd 157 . . . . 5 (𝑥 = 𝑦 → (𝑦 ∈ ω → 𝑥 ∈ ω))
47 bj-findis.1 . . . . 5 (𝑥 = 𝑦 → (𝜑𝜒))
4846, 47imim12d 74 . . . 4 (𝑥 = 𝑦 → ((𝑥 ∈ ω → 𝜑) → (𝑦 ∈ ω → 𝜒)))
49 eleq1 2229 . . . . . 6 (𝑥 = 𝑧 → (𝑥 ∈ ω ↔ 𝑧 ∈ ω))
5049biimpd 143 . . . . 5 (𝑥 = 𝑧 → (𝑥 ∈ ω → 𝑧 ∈ ω))
51 eqtr 2183 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = ∅) → 𝑥 = ∅)
52 bj-findis.0 . . . . . . . 8 (𝑥 = ∅ → (𝜓𝜑))
5351, 52syl 14 . . . . . . 7 ((𝑥 = 𝑧𝑧 = ∅) → (𝜓𝜑))
5453expimpd 361 . . . . . 6 (𝑥 = 𝑧 → ((𝑧 = ∅ ∧ 𝜓) → 𝜑))
55 eqtr 2183 . . . . . . . . 9 ((𝑥 = 𝑧𝑧 = suc 𝑦) → 𝑥 = suc 𝑦)
56 bj-findis.suc . . . . . . . . 9 (𝑥 = suc 𝑦 → (𝜃𝜑))
5755, 56syl 14 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = suc 𝑦) → (𝜃𝜑))
5857expimpd 361 . . . . . . 7 (𝑥 = 𝑧 → ((𝑧 = suc 𝑦𝜃) → 𝜑))
5958rexlimdvw 2587 . . . . . 6 (𝑥 = 𝑧 → (∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃) → 𝜑))
6054, 59jaod 707 . . . . 5 (𝑥 = 𝑧 → (((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)) → 𝜑))
6150, 60imim12d 74 . . . 4 (𝑥 = 𝑧 → ((𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))) → (𝑥 ∈ ω → 𝜑)))
6231, 42, 43, 44, 48, 61setindis 13849 . . 3 (∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))) → ∀𝑥(𝑥 ∈ ω → 𝜑))
6328, 62syl 14 . 2 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥(𝑥 ∈ ω → 𝜑))
64 df-ral 2449 . 2 (∀𝑥 ∈ ω 𝜑 ↔ ∀𝑥(𝑥 ∈ ω → 𝜑))
6563, 64sylibr 133 1 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥 ∈ ω 𝜑)
Colors of variables: wff set class
Syntax hints:  wi 4  wa 103  wo 698  wal 1341   = wceq 1343  wnf 1448  wcel 2136  wral 2444  wrex 2445  c0 3409  suc csuc 4343  ωcom 4567
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 1435  ax-7 1436  ax-gen 1437  ax-ie1 1481  ax-ie2 1482  ax-8 1492  ax-10 1493  ax-11 1494  ax-i12 1495  ax-bndl 1497  ax-4 1498  ax-17 1514  ax-i9 1518  ax-ial 1522  ax-i5r 1523  ax-13 2138  ax-14 2139  ax-ext 2147  ax-nul 4108  ax-pr 4187  ax-un 4411  ax-setind 4514  ax-bd0 13695  ax-bdim 13696  ax-bdan 13697  ax-bdor 13698  ax-bdn 13699  ax-bdal 13700  ax-bdex 13701  ax-bdeq 13702  ax-bdel 13703  ax-bdsb 13704  ax-bdsep 13766  ax-infvn 13823
This theorem depends on definitions:  df-bi 116  df-tru 1346  df-fal 1349  df-nf 1449  df-sb 1751  df-clab 2152  df-cleq 2158  df-clel 2161  df-nfc 2297  df-ral 2449  df-rex 2450  df-rab 2453  df-v 2728  df-dif 3118  df-un 3120  df-in 3122  df-ss 3129  df-nul 3410  df-sn 3582  df-pr 3583  df-uni 3790  df-int 3825  df-suc 4349  df-iom 4568  df-bdc 13723  df-bj-ind 13809
This theorem is referenced by:  bj-findisg  13862  bj-findes  13863
  Copyright terms: Public domain W3C validator