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

Theorem bj-findis 10491
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 10459 for a bounded version not requiring ax-setind 4290. See finds 4351 for a proof in IZF. From this version, it is easy to prove of finds 4351, finds2 4352, finds1 4353. (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 10476 . . . . 5  |-  ( z  e.  om  <->  ( z  =  (/)  \/  E. y  e.  om  z  =  suc  y ) )
2 pm3.21 255 . . . . . . . 8  |-  ( ps 
->  ( z  =  (/)  ->  ( z  =  (/)  /\ 
ps ) ) )
32ad2antrr 465 . . . . . . 7  |-  ( ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  /\  A. y  e.  z  ( y  e.  om  ->  ch ) )  ->  (
z  =  (/)  ->  (
z  =  (/)  /\  ps ) ) )
4 pm2.04 80 . . . . . . . . . . 11  |-  ( ( y  e.  z  -> 
( y  e.  om  ->  ch ) )  -> 
( y  e.  om  ->  ( y  e.  z  ->  ch ) ) )
54ralimi2 2398 . . . . . . . . . 10  |-  ( A. y  e.  z  (
y  e.  om  ->  ch )  ->  A. y  e.  om  ( y  e.  z  ->  ch )
)
6 imim2 53 . . . . . . . . . . . 12  |-  ( ( ch  ->  th )  ->  ( ( y  e.  z  ->  ch )  ->  ( y  e.  z  ->  th ) ) )
76ral2imi 2402 . . . . . . . . . . 11  |-  ( A. y  e.  om  ( ch  ->  th )  ->  ( A. y  e.  om  ( y  e.  z  ->  ch )  ->  A. y  e.  om  ( y  e.  z  ->  th ) ) )
87imp 119 . . . . . . . . . 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 274 . . . . . . . . 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 2467 . . . . . . . . . . 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 2577 . . . . . . . . . . . . . . . 16  |-  y  e. 
_V
1211sucid 4182 . . . . . . . . . . . . . . 15  |-  y  e. 
suc  y
13 eleq2 2117 . . . . . . . . . . . . . . 15  |-  ( z  =  suc  y  -> 
( y  e.  z  <-> 
y  e.  suc  y
) )
1412, 13mpbiri 161 . . . . . . . . . . . . . 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 329 . . . . . . . . . . . . . 14  |-  ( ( z  =  suc  y  /\  y  e.  z
)  ->  ( (
y  e.  z  ->  th )  ->  ( z  =  suc  y  /\  th ) ) )
1814, 17mpdan 406 . . . . . . . . . . . . 13  |-  ( z  =  suc  y  -> 
( ( y  e.  z  ->  th )  ->  ( z  =  suc  y  /\  th ) ) )
1918impcom 120 . . . . . . . . . . . 12  |-  ( ( ( y  e.  z  ->  th )  /\  z  =  suc  y )  -> 
( z  =  suc  y  /\  th ) )
2019reximi 2433 . . . . . . . . . . 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 112 . . . . . . . . 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 453 . . . . . . 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 710 . . . . . 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 112 . . . . 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 158 . . . 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 1770 . . 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 1437 . . . . 5  |-  F/ x  y  e.  om
30 bj-findis.nf1 . . . . 5  |-  F/ x ch
3129, 30nfim 1480 . . . 4  |-  F/ x
( y  e.  om  ->  ch )
32 nfv 1437 . . . . 5  |-  F/ x  z  e.  om
33 nfv 1437 . . . . . . 7  |-  F/ x  z  =  (/)
34 bj-findis.nf0 . . . . . . 7  |-  F/ x ps
3533, 34nfan 1473 . . . . . 6  |-  F/ x
( z  =  (/)  /\ 
ps )
36 nfcv 2194 . . . . . . 7  |-  F/_ x om
37 nfv 1437 . . . . . . . 8  |-  F/ x  z  =  suc  y
38 bj-findis.nfsuc . . . . . . . 8  |-  F/ x th
3937, 38nfan 1473 . . . . . . 7  |-  F/ x
( z  =  suc  y  /\  th )
4036, 39nfrexxy 2378 . . . . . 6  |-  F/ x E. y  e.  om  ( z  =  suc  y  /\  th )
4135, 40nfor 1482 . . . . 5  |-  F/ x
( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) )
4232, 41nfim 1480 . . . 4  |-  F/ x
( z  e.  om  ->  ( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) ) )
43 nfv 1437 . . . 4  |-  F/ z ( x  e.  om  ->  ph )
44 nfv 1437 . . . 4  |-  F/ z ( y  e.  om  ->  ch )
45 eleq1 2116 . . . . . 6  |-  ( x  =  y  ->  (
x  e.  om  <->  y  e.  om ) )
4645biimprd 151 . . . . 5  |-  ( x  =  y  ->  (
y  e.  om  ->  x  e.  om ) )
47 bj-findis.1 . . . . 5  |-  ( x  =  y  ->  ( ph  ->  ch ) )
4846, 47imim12d 72 . . . 4  |-  ( x  =  y  ->  (
( x  e.  om  ->  ph )  ->  (
y  e.  om  ->  ch ) ) )
49 eleq1 2116 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  om  <->  z  e.  om ) )
5049biimpd 136 . . . . 5  |-  ( x  =  z  ->  (
x  e.  om  ->  z  e.  om ) )
51 eqtr 2073 . . . . . . . 8  |-  ( ( x  =  z  /\  z  =  (/) )  ->  x  =  (/) )
52 bj-findis.0 . . . . . . . 8  |-  ( x  =  (/)  ->  ( ps 
->  ph ) )
5351, 52syl 14 . . . . . . 7  |-  ( ( x  =  z  /\  z  =  (/) )  -> 
( ps  ->  ph )
)
5453expimpd 349 . . . . . 6  |-  ( x  =  z  ->  (
( z  =  (/)  /\ 
ps )  ->  ph )
)
55 eqtr 2073 . . . . . . . . 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 349 . . . . . . 7  |-  ( x  =  z  ->  (
( z  =  suc  y  /\  th )  ->  ph ) )
5958rexlimdvw 2453 . . . . . 6  |-  ( x  =  z  ->  ( E. y  e.  om  ( z  =  suc  y  /\  th )  ->  ph ) )
6054, 59jaod 647 . . . . 5  |-  ( x  =  z  ->  (
( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) )  ->  ph ) )
6150, 60imim12d 72 . . . 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 10479 . . 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 2328 . 2  |-  ( A. x  e.  om  ph  <->  A. x
( x  e.  om  ->  ph ) )
6563, 64sylibr 141 1  |-  ( ( ps  /\  A. y  e.  om  ( ch  ->  th ) )  ->  A. x  e.  om  ph )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 101    \/ wo 639   A.wal 1257    = wceq 1259   F/wnf 1365    e. wcel 1409   A.wral 2323   E.wrex 2324   (/)c0 3252   suc csuc 4130   omcom 4341
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 103  ax-ia2 104  ax-ia3 105  ax-in1 554  ax-in2 555  ax-io 640  ax-5 1352  ax-7 1353  ax-gen 1354  ax-ie1 1398  ax-ie2 1399  ax-8 1411  ax-10 1412  ax-11 1413  ax-i12 1414  ax-bndl 1415  ax-4 1416  ax-13 1420  ax-14 1421  ax-17 1435  ax-i9 1439  ax-ial 1443  ax-i5r 1444  ax-ext 2038  ax-nul 3911  ax-pr 3972  ax-un 4198  ax-setind 4290  ax-bd0 10320  ax-bdim 10321  ax-bdan 10322  ax-bdor 10323  ax-bdn 10324  ax-bdal 10325  ax-bdex 10326  ax-bdeq 10327  ax-bdel 10328  ax-bdsb 10329  ax-bdsep 10391  ax-infvn 10453
This theorem depends on definitions:  df-bi 114  df-tru 1262  df-fal 1265  df-nf 1366  df-sb 1662  df-clab 2043  df-cleq 2049  df-clel 2052  df-nfc 2183  df-ral 2328  df-rex 2329  df-rab 2332  df-v 2576  df-dif 2948  df-un 2950  df-in 2952  df-ss 2959  df-nul 3253  df-sn 3409  df-pr 3410  df-uni 3609  df-int 3644  df-suc 4136  df-iom 4342  df-bdc 10348  df-bj-ind 10438
This theorem is referenced by:  bj-findisg  10492  bj-findes  10493
  Copyright terms: Public domain W3C validator