Users' Mathboxes Mathbox for BJ < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >   Mathboxes  >  bj-findis Unicode 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  |-  F/ x ps
bj-findis.nf1  |-  F/ x ch
bj-findis.nfsuc  |-  F/ x th
bj-findis.0  |-  ( x  =  (/)  ->  ( ps 
->  ph ) )
bj-findis.1  |-  ( x  =  y  ->  ( ph  ->  ch ) )
bj-findis.suc  |-  ( x  =  suc  y  -> 
( th  ->  ph )
)
Assertion
Ref Expression
bj-findis  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  A. x  e.  om  ph )
Distinct variable groups:    x, y    ph, y
Allowed substitution hints:    ph( x)    ps( x, y)    ch( x, y)    th( x, y)

Proof of Theorem bj-findis
Dummy variable  z is distinct from all other variables.
StepHypRef Expression
1 bj-nn0suc 10759 . . . . 5  |-  ( z  e.  om  <->  ( z  =  (/)  \/  E. y  e.  om  z  =  suc  y ) )
2 pm3.21 260 . . . . . . . 8  |-  ( ps 
->  ( z  =  (/)  ->  ( z  =  (/)  /\ 
ps ) ) )
32ad2antrr 471 . . . . . . 7  |-  ( ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  /\  A. y  e.  z  ( y  e.  om  ->  ch ) )  ->  (
z  =  (/)  ->  (
z  =  (/)  /\  ps ) ) )
4 pm2.04 81 . . . . . . . . . . 11  |-  ( ( y  e.  z  -> 
( y  e.  om  ->  ch ) )  -> 
( y  e.  om  ->  ( y  e.  z  ->  ch ) ) )
54ralimi2 2423 . . . . . . . . . 10  |-  ( A. y  e.  z  (
y  e.  om  ->  ch )  ->  A. y  e.  om  ( y  e.  z  ->  ch )
)
6 imim2 54 . . . . . . . . . . . 12  |-  ( ( ch  ->  th )  ->  ( ( y  e.  z  ->  ch )  ->  ( y  e.  z  ->  th ) ) )
76ral2imi 2427 . . . . . . . . . . 11  |-  ( A. y  e.  om  ( ch  ->  th )  ->  ( A. y  e.  om  ( y  e.  z  ->  ch )  ->  A. y  e.  om  ( y  e.  z  ->  th ) ) )
87imp 122 . . . . . . . . . 10  |-  ( ( A. y  e.  om  ( ch  ->  th )  /\  A. y  e.  om  ( y  e.  z  ->  ch ) )  ->  A. y  e.  om  ( y  e.  z  ->  th ) )
95, 8sylan2 280 . . . . . . . . 9  |-  ( ( A. y  e.  om  ( ch  ->  th )  /\  A. y  e.  z  ( y  e.  om  ->  ch ) )  ->  A. y  e.  om  ( y  e.  z  ->  th ) )
10 r19.29 2494 . . . . . . . . . . 11  |-  ( ( A. y  e.  om  ( y  e.  z  ->  th )  /\  E. y  e.  om  z  =  suc  y )  ->  E. y  e.  om  ( ( y  e.  z  ->  th )  /\  z  =  suc  y ) )
11 vex 2604 . . . . . . . . . . . . . . . 16  |-  y  e. 
_V
1211sucid 4172 . . . . . . . . . . . . . . 15  |-  y  e. 
suc  y
13 eleq2 2142 . . . . . . . . . . . . . . 15  |-  ( z  =  suc  y  -> 
( y  e.  z  <-> 
y  e.  suc  y
) )
1412, 13mpbiri 166 . . . . . . . . . . . . . 14  |-  ( z  =  suc  y  -> 
y  e.  z )
15 ax-1 5 . . . . . . . . . . . . . . 15  |-  ( z  =  suc  y  -> 
( ( y  e.  z  ->  th )  ->  z  =  suc  y
) )
16 pm2.27 39 . . . . . . . . . . . . . . 15  |-  ( y  e.  z  ->  (
( y  e.  z  ->  th )  ->  th )
)
1715, 16anim12ii 335 . . . . . . . . . . . . . 14  |-  ( ( z  =  suc  y  /\  y  e.  z
)  ->  ( (
y  e.  z  ->  th )  ->  ( z  =  suc  y  /\  th ) ) )
1814, 17mpdan 412 . . . . . . . . . . . . 13  |-  ( z  =  suc  y  -> 
( ( y  e.  z  ->  th )  ->  ( z  =  suc  y  /\  th ) ) )
1918impcom 123 . . . . . . . . . . . 12  |-  ( ( ( y  e.  z  ->  th )  /\  z  =  suc  y )  -> 
( z  =  suc  y  /\  th ) )
2019reximi 2458 . . . . . . . . . . 11  |-  ( E. y  e.  om  (
( y  e.  z  ->  th )  /\  z  =  suc  y )  ->  E. y  e.  om  ( z  =  suc  y  /\  th ) )
2110, 20syl 14 . . . . . . . . . 10  |-  ( ( A. y  e.  om  ( y  e.  z  ->  th )  /\  E. y  e.  om  z  =  suc  y )  ->  E. y  e.  om  ( z  =  suc  y  /\  th ) )
2221ex 113 . . . . . . . . 9  |-  ( A. y  e.  om  (
y  e.  z  ->  th )  ->  ( E. y  e.  om  z  =  suc  y  ->  E. y  e.  om  ( z  =  suc  y  /\  th ) ) )
239, 22syl 14 . . . . . . . 8  |-  ( ( A. y  e.  om  ( ch  ->  th )  /\  A. y  e.  z  ( y  e.  om  ->  ch ) )  -> 
( E. y  e. 
om  z  =  suc  y  ->  E. y  e.  om  ( z  =  suc  y  /\  th ) ) )
2423adantll 459 . . . . . . 7  |-  ( ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  /\  A. y  e.  z  ( y  e.  om  ->  ch ) )  ->  ( E. y  e.  om  z  =  suc  y  ->  E. y  e.  om  ( z  =  suc  y  /\  th ) ) )
253, 24orim12d 732 . . . . . 6  |-  ( ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  /\  A. y  e.  z  ( y  e.  om  ->  ch ) )  ->  (
( z  =  (/)  \/ 
E. y  e.  om  z  =  suc  y )  ->  ( ( z  =  (/)  /\  ps )  \/  E. y  e.  om  ( z  =  suc  y  /\  th ) ) ) )
2625ex 113 . . . . 5  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  ( A. y  e.  z 
( y  e.  om  ->  ch )  ->  (
( z  =  (/)  \/ 
E. y  e.  om  z  =  suc  y )  ->  ( ( z  =  (/)  /\  ps )  \/  E. y  e.  om  ( z  =  suc  y  /\  th ) ) ) ) )
271, 26syl7bi 163 . . . 4  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  ( A. y  e.  z 
( y  e.  om  ->  ch )  ->  (
z  e.  om  ->  ( ( z  =  (/)  /\ 
ps )  \/  E. y  e.  om  (
z  =  suc  y  /\  th ) ) ) ) )
2827alrimiv 1795 . . 3  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  A. z
( A. y  e.  z  ( y  e. 
om  ->  ch )  -> 
( z  e.  om  ->  ( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) ) ) ) )
29 nfv 1461 . . . . 5  |-  F/ x  y  e.  om
30 bj-findis.nf1 . . . . 5  |-  F/ x ch
3129, 30nfim 1504 . . . 4  |-  F/ x
( y  e.  om  ->  ch )
32 nfv 1461 . . . . 5  |-  F/ x  z  e.  om
33 nfv 1461 . . . . . . 7  |-  F/ x  z  =  (/)
34 bj-findis.nf0 . . . . . . 7  |-  F/ x ps
3533, 34nfan 1497 . . . . . 6  |-  F/ x
( z  =  (/)  /\ 
ps )
36 nfcv 2219 . . . . . . 7  |-  F/_ x om
37 nfv 1461 . . . . . . . 8  |-  F/ x  z  =  suc  y
38 bj-findis.nfsuc . . . . . . . 8  |-  F/ x th
3937, 38nfan 1497 . . . . . . 7  |-  F/ x
( z  =  suc  y  /\  th )
4036, 39nfrexxy 2403 . . . . . 6  |-  F/ x E. y  e.  om  ( z  =  suc  y  /\  th )
4135, 40nfor 1506 . . . . 5  |-  F/ x
( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) )
4232, 41nfim 1504 . . . 4  |-  F/ x
( z  e.  om  ->  ( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) ) )
43 nfv 1461 . . . 4  |-  F/ z ( x  e.  om  ->  ph )
44 nfv 1461 . . . 4  |-  F/ z ( y  e.  om  ->  ch )
45 eleq1 2141 . . . . . 6  |-  ( x  =  y  ->  (
x  e.  om  <->  y  e.  om ) )
4645biimprd 156 . . . . 5  |-  ( x  =  y  ->  (
y  e.  om  ->  x  e.  om ) )
47 bj-findis.1 . . . . 5  |-  ( x  =  y  ->  ( ph  ->  ch ) )
4846, 47imim12d 73 . . . 4  |-  ( x  =  y  ->  (
( x  e.  om  ->  ph )  ->  (
y  e.  om  ->  ch ) ) )
49 eleq1 2141 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  om  <->  z  e.  om ) )
5049biimpd 142 . . . . 5  |-  ( x  =  z  ->  (
x  e.  om  ->  z  e.  om ) )
51 eqtr 2098 . . . . . . . 8  |-  ( ( x  =  z  /\  z  =  (/) )  ->  x  =  (/) )
52 bj-findis.0 . . . . . . . 8  |-  ( x  =  (/)  ->  ( ps 
->  ph ) )
5351, 52syl 14 . . . . . . 7  |-  ( ( x  =  z  /\  z  =  (/) )  -> 
( ps  ->  ph )
)
5453expimpd 355 . . . . . 6  |-  ( x  =  z  ->  (
( z  =  (/)  /\ 
ps )  ->  ph )
)
55 eqtr 2098 . . . . . . . . 9  |-  ( ( x  =  z  /\  z  =  suc  y )  ->  x  =  suc  y )
56 bj-findis.suc . . . . . . . . 9  |-  ( x  =  suc  y  -> 
( th  ->  ph )
)
5755, 56syl 14 . . . . . . . 8  |-  ( ( x  =  z  /\  z  =  suc  y )  ->  ( th  ->  ph ) )
5857expimpd 355 . . . . . . 7  |-  ( x  =  z  ->  (
( z  =  suc  y  /\  th )  ->  ph ) )
5958rexlimdvw 2480 . . . . . 6  |-  ( x  =  z  ->  ( E. y  e.  om  ( z  =  suc  y  /\  th )  ->  ph ) )
6054, 59jaod 669 . . . . 5  |-  ( x  =  z  ->  (
( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) )  ->  ph ) )
6150, 60imim12d 73 . . . 4  |-  ( x  =  z  ->  (
( z  e.  om  ->  ( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) ) )  ->  ( x  e.  om  ->  ph ) ) )
6231, 42, 43, 44, 48, 61setindis 10762 . . 3  |-  ( A. z ( A. y  e.  z  ( y  e.  om  ->  ch )  ->  ( z  e.  om  ->  ( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) ) ) )  ->  A. x
( x  e.  om  ->  ph ) )
6328, 62syl 14 . 2  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  A. x
( x  e.  om  ->  ph ) )
64 df-ral 2353 . 2  |-  ( A. x  e.  om  ph  <->  A. x
( x  e.  om  ->  ph ) )
6563, 64sylibr 132 1  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  A. x  e.  om  ph )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 102    \/ wo 661   A.wal 1282    = wceq 1284   F/wnf 1389    e. wcel 1433   A.wral 2348   E.wrex 2349   (/)c0 3251   suc csuc 4120   omcom 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