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

Theorem bj-findis 14014
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 13982 for a bounded version not requiring ax-setind 4521. See finds 4584 for a proof in IZF. From this version, it is easy to prove of finds 4584, finds2 4585, finds1 4586. (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 13999 . . . . 5 (𝑧 ∈ ω ↔ (𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦))
2 pm3.21 262 . . . . . . . 8 (𝜓 → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
32ad2antrr 485 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (𝑧 = ∅ → (𝑧 = ∅ ∧ 𝜓)))
4 pm2.04 82 . . . . . . . . . . 11 ((𝑦𝑧 → (𝑦 ∈ ω → 𝜒)) → (𝑦 ∈ ω → (𝑦𝑧𝜒)))
54ralimi2 2530 . . . . . . . . . 10 (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜒))
6 imim2 55 . . . . . . . . . . . 12 ((𝜒𝜃) → ((𝑦𝑧𝜒) → (𝑦𝑧𝜃)))
76ral2imi 2535 . . . . . . . . . . 11 (∀𝑦 ∈ ω (𝜒𝜃) → (∀𝑦 ∈ ω (𝑦𝑧𝜒) → ∀𝑦 ∈ ω (𝑦𝑧𝜃)))
87imp 123 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦 ∈ ω (𝑦𝑧𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
95, 8sylan2 284 . . . . . . . . 9 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ∀𝑦 ∈ ω (𝑦𝑧𝜃))
10 r19.29 2607 . . . . . . . . . . 11 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦))
11 vex 2733 . . . . . . . . . . . . . . . 16 𝑦 ∈ V
1211sucid 4402 . . . . . . . . . . . . . . 15 𝑦 ∈ suc 𝑦
13 eleq2 2234 . . . . . . . . . . . . . . 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 419 . . . . . . . . . . . . 13 (𝑧 = suc 𝑦 → ((𝑦𝑧𝜃) → (𝑧 = suc 𝑦𝜃)))
1918impcom 124 . . . . . . . . . . . 12 (((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦) → (𝑧 = suc 𝑦𝜃))
2019reximi 2567 . . . . . . . . . . 11 (∃𝑦 ∈ ω ((𝑦𝑧𝜃) ∧ 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
2110, 20syl 14 . . . . . . . . . 10 ((∀𝑦 ∈ ω (𝑦𝑧𝜃) ∧ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
2221ex 114 . . . . . . . . 9 (∀𝑦 ∈ ω (𝑦𝑧𝜃) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
239, 22syl 14 . . . . . . . 8 ((∀𝑦 ∈ ω (𝜒𝜃) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
2423adantll 473 . . . . . . 7 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → (∃𝑦 ∈ ω 𝑧 = suc 𝑦 → ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
253, 24orim12d 781 . . . . . 6 (((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) ∧ ∀𝑦𝑧 (𝑦 ∈ ω → 𝜒)) → ((𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))))
2625ex 114 . . . . 5 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → ((𝑧 = ∅ ∨ ∃𝑦 ∈ ω 𝑧 = suc 𝑦) → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
271, 26syl7bi 164 . . . 4 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → (∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
2827alrimiv 1867 . . 3 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))))
29 nfv 1521 . . . . 5 𝑥 𝑦 ∈ ω
30 bj-findis.nf1 . . . . 5 𝑥𝜒
3129, 30nfim 1565 . . . 4 𝑥(𝑦 ∈ ω → 𝜒)
32 nfv 1521 . . . . 5 𝑥 𝑧 ∈ ω
33 nfv 1521 . . . . . . 7 𝑥 𝑧 = ∅
34 bj-findis.nf0 . . . . . . 7 𝑥𝜓
3533, 34nfan 1558 . . . . . 6 𝑥(𝑧 = ∅ ∧ 𝜓)
36 nfcv 2312 . . . . . . 7 𝑥ω
37 nfv 1521 . . . . . . . 8 𝑥 𝑧 = suc 𝑦
38 bj-findis.nfsuc . . . . . . . 8 𝑥𝜃
3937, 38nfan 1558 . . . . . . 7 𝑥(𝑧 = suc 𝑦𝜃)
4036, 39nfrexxy 2509 . . . . . 6 𝑥𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)
4135, 40nfor 1567 . . . . 5 𝑥((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))
4232, 41nfim 1565 . . . 4 𝑥(𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))
43 nfv 1521 . . . 4 𝑧(𝑥 ∈ ω → 𝜑)
44 nfv 1521 . . . 4 𝑧(𝑦 ∈ ω → 𝜒)
45 eleq1 2233 . . . . . 6 (𝑥 = 𝑦 → (𝑥 ∈ ω ↔ 𝑦 ∈ ω))
4645biimprd 157 . . . . 5 (𝑥 = 𝑦 → (𝑦 ∈ ω → 𝑥 ∈ ω))
47 bj-findis.1 . . . . 5 (𝑥 = 𝑦 → (𝜑𝜒))
4846, 47imim12d 74 . . . 4 (𝑥 = 𝑦 → ((𝑥 ∈ ω → 𝜑) → (𝑦 ∈ ω → 𝜒)))
49 eleq1 2233 . . . . . 6 (𝑥 = 𝑧 → (𝑥 ∈ ω ↔ 𝑧 ∈ ω))
5049biimpd 143 . . . . 5 (𝑥 = 𝑧 → (𝑥 ∈ ω → 𝑧 ∈ ω))
51 eqtr 2188 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = ∅) → 𝑥 = ∅)
52 bj-findis.0 . . . . . . . 8 (𝑥 = ∅ → (𝜓𝜑))
5351, 52syl 14 . . . . . . 7 ((𝑥 = 𝑧𝑧 = ∅) → (𝜓𝜑))
5453expimpd 361 . . . . . 6 (𝑥 = 𝑧 → ((𝑧 = ∅ ∧ 𝜓) → 𝜑))
55 eqtr 2188 . . . . . . . . 9 ((𝑥 = 𝑧𝑧 = suc 𝑦) → 𝑥 = suc 𝑦)
56 bj-findis.suc . . . . . . . . 9 (𝑥 = suc 𝑦 → (𝜃𝜑))
5755, 56syl 14 . . . . . . . 8 ((𝑥 = 𝑧𝑧 = suc 𝑦) → (𝜃𝜑))
5857expimpd 361 . . . . . . 7 (𝑥 = 𝑧 → ((𝑧 = suc 𝑦𝜃) → 𝜑))
5958rexlimdvw 2591 . . . . . 6 (𝑥 = 𝑧 → (∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃) → 𝜑))
6054, 59jaod 712 . . . . 5 (𝑥 = 𝑧 → (((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)) → 𝜑))
6150, 60imim12d 74 . . . 4 (𝑥 = 𝑧 → ((𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃))) → (𝑥 ∈ ω → 𝜑)))
6231, 42, 43, 44, 48, 61setindis 14002 . . 3 (∀𝑧(∀𝑦𝑧 (𝑦 ∈ ω → 𝜒) → (𝑧 ∈ ω → ((𝑧 = ∅ ∧ 𝜓) ∨ ∃𝑦 ∈ ω (𝑧 = suc 𝑦𝜃)))) → ∀𝑥(𝑥 ∈ ω → 𝜑))
6328, 62syl 14 . 2 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥(𝑥 ∈ ω → 𝜑))
64 df-ral 2453 . 2 (∀𝑥 ∈ ω 𝜑 ↔ ∀𝑥(𝑥 ∈ ω → 𝜑))
6563, 64sylibr 133 1 ((𝜓 ∧ ∀𝑦 ∈ ω (𝜒𝜃)) → ∀𝑥 ∈ ω 𝜑)
Colors of variables: wff set class
Syntax hints:  wi 4  wa 103  wo 703  wal 1346   = wceq 1348  wnf 1453  wcel 2141  wral 2448  wrex 2449  c0 3414  suc csuc 4350  ωcom 4574
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 609  ax-in2 610  ax-io 704  ax-5 1440  ax-7 1441  ax-gen 1442  ax-ie1 1486  ax-ie2 1487  ax-8 1497  ax-10 1498  ax-11 1499  ax-i12 1500  ax-bndl 1502  ax-4 1503  ax-17 1519  ax-i9 1523  ax-ial 1527  ax-i5r 1528  ax-13 2143  ax-14 2144  ax-ext 2152  ax-nul 4115  ax-pr 4194  ax-un 4418  ax-setind 4521  ax-bd0 13848  ax-bdim 13849  ax-bdan 13850  ax-bdor 13851  ax-bdn 13852  ax-bdal 13853  ax-bdex 13854  ax-bdeq 13855  ax-bdel 13856  ax-bdsb 13857  ax-bdsep 13919  ax-infvn 13976
This theorem depends on definitions:  df-bi 116  df-tru 1351  df-fal 1354  df-nf 1454  df-sb 1756  df-clab 2157  df-cleq 2163  df-clel 2166  df-nfc 2301  df-ral 2453  df-rex 2454  df-rab 2457  df-v 2732  df-dif 3123  df-un 3125  df-in 3127  df-ss 3134  df-nul 3415  df-sn 3589  df-pr 3590  df-uni 3797  df-int 3832  df-suc 4356  df-iom 4575  df-bdc 13876  df-bj-ind 13962
This theorem is referenced by:  bj-findisg  14015  bj-findes  14016
  Copyright terms: Public domain W3C validator