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

Theorem bj-findis 16919
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 16887 for a bounded version not requiring ax-setind 4679. See finds 4742 for a proof in IZF. From this version, it is easy to prove of finds 4742, finds2 4743, finds1 4744. (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 16904 . . . . 5  |-  ( z  e.  om  <->  ( z  =  (/)  \/  E. y  e.  om  z  =  suc  y ) )
2 pm3.21 264 . . . . . . . 8  |-  ( ps 
->  ( z  =  (/)  ->  ( z  =  (/)  /\ 
ps ) ) )
32ad2antrr 492 . . . . . . 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 2610 . . . . . . . . . 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 2615 . . . . . . . . . . 11  |-  ( A. y  e.  om  ( ch  ->  th )  ->  ( A. y  e.  om  ( y  e.  z  ->  ch )  ->  A. y  e.  om  ( y  e.  z  ->  th ) ) )
87imp 124 . . . . . . . . . 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 286 . . . . . . . . 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 2688 . . . . . . . . . . 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 2824 . . . . . . . . . . . . . . . 16  |-  y  e. 
_V
1211sucid 4557 . . . . . . . . . . . . . . 15  |-  y  e. 
suc  y
13 eleq2 2302 . . . . . . . . . . . . . . 15  |-  ( z  =  suc  y  -> 
( y  e.  z  <-> 
y  e.  suc  y
) )
1412, 13mpbiri 168 . . . . . . . . . . . . . 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 343 . . . . . . . . . . . . . 14  |-  ( ( z  =  suc  y  /\  y  e.  z
)  ->  ( (
y  e.  z  ->  th )  ->  ( z  =  suc  y  /\  th ) ) )
1814, 17mpdan 425 . . . . . . . . . . . . 13  |-  ( z  =  suc  y  -> 
( ( y  e.  z  ->  th )  ->  ( z  =  suc  y  /\  th ) ) )
1918impcom 125 . . . . . . . . . . . 12  |-  ( ( ( y  e.  z  ->  th )  /\  z  =  suc  y )  -> 
( z  =  suc  y  /\  th ) )
2019reximi 2647 . . . . . . . . . . 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 115 . . . . . . . . 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 480 . . . . . . 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 798 . . . . . 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 115 . . . . 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 165 . . . 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 1927 . . 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 1581 . . . . 5  |-  F/ x  y  e.  om
30 bj-findis.nf1 . . . . 5  |-  F/ x ch
3129, 30nfim 1625 . . . 4  |-  F/ x
( y  e.  om  ->  ch )
32 nfv 1581 . . . . 5  |-  F/ x  z  e.  om
33 nfv 1581 . . . . . . 7  |-  F/ x  z  =  (/)
34 bj-findis.nf0 . . . . . . 7  |-  F/ x ps
3533, 34nfan 1618 . . . . . 6  |-  F/ x
( z  =  (/)  /\ 
ps )
36 nfcv 2392 . . . . . . 7  |-  F/_ x om
37 nfv 1581 . . . . . . . 8  |-  F/ x  z  =  suc  y
38 bj-findis.nfsuc . . . . . . . 8  |-  F/ x th
3937, 38nfan 1618 . . . . . . 7  |-  F/ x
( z  =  suc  y  /\  th )
4036, 39nfrexw 2589 . . . . . 6  |-  F/ x E. y  e.  om  ( z  =  suc  y  /\  th )
4135, 40nfor 1627 . . . . 5  |-  F/ x
( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) )
4232, 41nfim 1625 . . . 4  |-  F/ x
( z  e.  om  ->  ( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) ) )
43 nfv 1581 . . . 4  |-  F/ z ( x  e.  om  ->  ph )
44 nfv 1581 . . . 4  |-  F/ z ( y  e.  om  ->  ch )
45 eleq1 2301 . . . . . 6  |-  ( x  =  y  ->  (
x  e.  om  <->  y  e.  om ) )
4645biimprd 158 . . . . 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 2301 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  om  <->  z  e.  om ) )
5049biimpd 144 . . . . 5  |-  ( x  =  z  ->  (
x  e.  om  ->  z  e.  om ) )
51 eqtr 2256 . . . . . . . 8  |-  ( ( x  =  z  /\  z  =  (/) )  ->  x  =  (/) )
52 bj-findis.0 . . . . . . . 8  |-  ( x  =  (/)  ->  ( ps 
->  ph ) )
5351, 52syl 14 . . . . . . 7  |-  ( ( x  =  z  /\  z  =  (/) )  -> 
( ps  ->  ph )
)
5453expimpd 363 . . . . . 6  |-  ( x  =  z  ->  (
( z  =  (/)  /\ 
ps )  ->  ph )
)
55 eqtr 2256 . . . . . . . . 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 363 . . . . . . 7  |-  ( x  =  z  ->  (
( z  =  suc  y  /\  th )  ->  ph ) )
5958rexlimdvw 2672 . . . . . 6  |-  ( x  =  z  ->  ( E. y  e.  om  ( z  =  suc  y  /\  th )  ->  ph ) )
6054, 59jaod 729 . . . . 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 16907 . . 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 2533 . 2  |-  ( A. x  e.  om  ph  <->  A. x
( x  e.  om  ->  ph ) )
6563, 64sylibr 134 1  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  A. x  e.  om  ph )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    \/ wo 720   A.wal 1400    = wceq 1402   F/wnf 1513    e. wcel 2209   A.wral 2528   E.wrex 2529   (/)c0 3520   suc csuc 4505   omcom 4732
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-nul 4254  ax-pr 4341  ax-un 4573  ax-setind 4679  ax-bd0 16753  ax-bdim 16754  ax-bdan 16755  ax-bdor 16756  ax-bdn 16757  ax-bdal 16758  ax-bdex 16759  ax-bdeq 16760  ax-bdel 16761  ax-bdsb 16762  ax-bdsep 16824  ax-infvn 16881
This theorem depends on definitions:  df-bi 117  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ral 2533  df-rex 2534  df-rab 2537  df-v 2823  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-sn 3711  df-pr 3712  df-uni 3931  df-int 3966  df-suc 4511  df-iom 4733  df-bdc 16781  df-bj-ind 16867
This theorem is referenced by:  bj-findisg  16920  bj-findes  16921
  Copyright terms: Public domain W3C validator