Users' Mathboxes Mathbox for BJ < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >   Mathboxes  >  bj-findis Unicode 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  |-  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 13999 . . . . 5  |-  ( z  e.  om  <->  ( z  =  (/)  \/  E. y  e.  om  z  =  suc  y ) )
2 pm3.21 262 . . . . . . . 8  |-  ( ps 
->  ( z  =  (/)  ->  ( z  =  (/)  /\ 
ps ) ) )
32ad2antrr 485 . . . . . . 7  |-  ( ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  /\  A. y  e.  z  ( y  e.  om  ->  ch ) )  ->  (
z  =  (/)  ->  (
z  =  (/)  /\  ps ) ) )
4 pm2.04 82 . . . . . . . . . . 11  |-  ( ( y  e.  z  -> 
( y  e.  om  ->  ch ) )  -> 
( y  e.  om  ->  ( y  e.  z  ->  ch ) ) )
54ralimi2 2530 . . . . . . . . . 10  |-  ( A. y  e.  z  (
y  e.  om  ->  ch )  ->  A. y  e.  om  ( y  e.  z  ->  ch )
)
6 imim2 55 . . . . . . . . . . . 12  |-  ( ( ch  ->  th )  ->  ( ( y  e.  z  ->  ch )  ->  ( y  e.  z  ->  th ) ) )
76ral2imi 2535 . . . . . . . . . . 11  |-  ( A. y  e.  om  ( ch  ->  th )  ->  ( A. y  e.  om  ( y  e.  z  ->  ch )  ->  A. y  e.  om  ( y  e.  z  ->  th ) ) )
87imp 123 . . . . . . . . . 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 284 . . . . . . . . 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 2607 . . . . . . . . . . 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 2733 . . . . . . . . . . . . . . . 16  |-  y  e. 
_V
1211sucid 4402 . . . . . . . . . . . . . . 15  |-  y  e. 
suc  y
13 eleq2 2234 . . . . . . . . . . . . . . 15  |-  ( z  =  suc  y  -> 
( y  e.  z  <-> 
y  e.  suc  y
) )
1412, 13mpbiri 167 . . . . . . . . . . . . . 14  |-  ( z  =  suc  y  -> 
y  e.  z )
15 ax-1 6 . . . . . . . . . . . . . . 15  |-  ( z  =  suc  y  -> 
( ( y  e.  z  ->  th )  ->  z  =  suc  y
) )
16 pm2.27 40 . . . . . . . . . . . . . . 15  |-  ( y  e.  z  ->  (
( y  e.  z  ->  th )  ->  th )
)
1715, 16anim12ii 341 . . . . . . . . . . . . . 14  |-  ( ( z  =  suc  y  /\  y  e.  z
)  ->  ( (
y  e.  z  ->  th )  ->  ( z  =  suc  y  /\  th ) ) )
1814, 17mpdan 419 . . . . . . . . . . . . 13  |-  ( z  =  suc  y  -> 
( ( y  e.  z  ->  th )  ->  ( z  =  suc  y  /\  th ) ) )
1918impcom 124 . . . . . . . . . . . 12  |-  ( ( ( y  e.  z  ->  th )  /\  z  =  suc  y )  -> 
( z  =  suc  y  /\  th ) )
2019reximi 2567 . . . . . . . . . . 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 114 . . . . . . . . 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 473 . . . . . . 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 781 . . . . . 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 114 . . . . 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 164 . . . 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 1867 . . 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 1521 . . . . 5  |-  F/ x  y  e.  om
30 bj-findis.nf1 . . . . 5  |-  F/ x ch
3129, 30nfim 1565 . . . 4  |-  F/ x
( y  e.  om  ->  ch )
32 nfv 1521 . . . . 5  |-  F/ x  z  e.  om
33 nfv 1521 . . . . . . 7  |-  F/ x  z  =  (/)
34 bj-findis.nf0 . . . . . . 7  |-  F/ x ps
3533, 34nfan 1558 . . . . . 6  |-  F/ x
( z  =  (/)  /\ 
ps )
36 nfcv 2312 . . . . . . 7  |-  F/_ x om
37 nfv 1521 . . . . . . . 8  |-  F/ x  z  =  suc  y
38 bj-findis.nfsuc . . . . . . . 8  |-  F/ x th
3937, 38nfan 1558 . . . . . . 7  |-  F/ x
( z  =  suc  y  /\  th )
4036, 39nfrexxy 2509 . . . . . 6  |-  F/ x E. y  e.  om  ( z  =  suc  y  /\  th )
4135, 40nfor 1567 . . . . 5  |-  F/ x
( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) )
4232, 41nfim 1565 . . . 4  |-  F/ x
( z  e.  om  ->  ( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) ) )
43 nfv 1521 . . . 4  |-  F/ z ( x  e.  om  ->  ph )
44 nfv 1521 . . . 4  |-  F/ z ( y  e.  om  ->  ch )
45 eleq1 2233 . . . . . 6  |-  ( x  =  y  ->  (
x  e.  om  <->  y  e.  om ) )
4645biimprd 157 . . . . 5  |-  ( x  =  y  ->  (
y  e.  om  ->  x  e.  om ) )
47 bj-findis.1 . . . . 5  |-  ( x  =  y  ->  ( ph  ->  ch ) )
4846, 47imim12d 74 . . . 4  |-  ( x  =  y  ->  (
( x  e.  om  ->  ph )  ->  (
y  e.  om  ->  ch ) ) )
49 eleq1 2233 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  om  <->  z  e.  om ) )
5049biimpd 143 . . . . 5  |-  ( x  =  z  ->  (
x  e.  om  ->  z  e.  om ) )
51 eqtr 2188 . . . . . . . 8  |-  ( ( x  =  z  /\  z  =  (/) )  ->  x  =  (/) )
52 bj-findis.0 . . . . . . . 8  |-  ( x  =  (/)  ->  ( ps 
->  ph ) )
5351, 52syl 14 . . . . . . 7  |-  ( ( x  =  z  /\  z  =  (/) )  -> 
( ps  ->  ph )
)
5453expimpd 361 . . . . . 6  |-  ( x  =  z  ->  (
( z  =  (/)  /\ 
ps )  ->  ph )
)
55 eqtr 2188 . . . . . . . . 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 361 . . . . . . 7  |-  ( x  =  z  ->  (
( z  =  suc  y  /\  th )  ->  ph ) )
5958rexlimdvw 2591 . . . . . 6  |-  ( x  =  z  ->  ( E. y  e.  om  ( z  =  suc  y  /\  th )  ->  ph ) )
6054, 59jaod 712 . . . . 5  |-  ( x  =  z  ->  (
( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) )  ->  ph ) )
6150, 60imim12d 74 . . . 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 14002 . . 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 2453 . 2  |-  ( A. x  e.  om  ph  <->  A. x
( x  e.  om  ->  ph ) )
6563, 64sylibr 133 1  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  A. x  e.  om  ph )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 103    \/ wo 703   A.wal 1346    = wceq 1348   F/wnf 1453    e. wcel 2141   A.wral 2448   E.wrex 2449   (/)c0 3414   suc csuc 4350   omcom 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