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

Theorem bj-findis 13513
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 13481 for a bounded version not requiring ax-setind 4494. See finds 4557 for a proof in IZF. From this version, it is easy to prove of finds 4557, finds2 4558, finds1 4559. (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 13498 . . . . 5  |-  ( z  e.  om  <->  ( z  =  (/)  \/  E. y  e.  om  z  =  suc  y ) )
2 pm3.21 262 . . . . . . . 8  |-  ( ps 
->  ( z  =  (/)  ->  ( z  =  (/)  /\ 
ps ) ) )
32ad2antrr 480 . . . . . . 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 2517 . . . . . . . . . 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 2522 . . . . . . . . . . 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 2594 . . . . . . . . . . 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 2715 . . . . . . . . . . . . . . . 16  |-  y  e. 
_V
1211sucid 4376 . . . . . . . . . . . . . . 15  |-  y  e. 
suc  y
13 eleq2 2221 . . . . . . . . . . . . . . 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 418 . . . . . . . . . . . . 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 2554 . . . . . . . . . . 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 468 . . . . . . 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 776 . . . . . 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 1854 . . 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 1508 . . . . 5  |-  F/ x  y  e.  om
30 bj-findis.nf1 . . . . 5  |-  F/ x ch
3129, 30nfim 1552 . . . 4  |-  F/ x
( y  e.  om  ->  ch )
32 nfv 1508 . . . . 5  |-  F/ x  z  e.  om
33 nfv 1508 . . . . . . 7  |-  F/ x  z  =  (/)
34 bj-findis.nf0 . . . . . . 7  |-  F/ x ps
3533, 34nfan 1545 . . . . . 6  |-  F/ x
( z  =  (/)  /\ 
ps )
36 nfcv 2299 . . . . . . 7  |-  F/_ x om
37 nfv 1508 . . . . . . . 8  |-  F/ x  z  =  suc  y
38 bj-findis.nfsuc . . . . . . . 8  |-  F/ x th
3937, 38nfan 1545 . . . . . . 7  |-  F/ x
( z  =  suc  y  /\  th )
4036, 39nfrexxy 2496 . . . . . 6  |-  F/ x E. y  e.  om  ( z  =  suc  y  /\  th )
4135, 40nfor 1554 . . . . 5  |-  F/ x
( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) )
4232, 41nfim 1552 . . . 4  |-  F/ x
( z  e.  om  ->  ( ( z  =  (/)  /\  ps )  \/ 
E. y  e.  om  ( z  =  suc  y  /\  th ) ) )
43 nfv 1508 . . . 4  |-  F/ z ( x  e.  om  ->  ph )
44 nfv 1508 . . . 4  |-  F/ z ( y  e.  om  ->  ch )
45 eleq1 2220 . . . . . 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 2220 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  om  <->  z  e.  om ) )
5049biimpd 143 . . . . 5  |-  ( x  =  z  ->  (
x  e.  om  ->  z  e.  om ) )
51 eqtr 2175 . . . . . . . 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 2175 . . . . . . . . 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 2578 . . . . . 6  |-  ( x  =  z  ->  ( E. y  e.  om  ( z  =  suc  y  /\  th )  ->  ph ) )
6054, 59jaod 707 . . . . 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 13501 . . 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 2440 . 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 698   A.wal 1333    = wceq 1335   F/wnf 1440    e. wcel 2128   A.wral 2435   E.wrex 2436   (/)c0 3394   suc csuc 4324   omcom 4547
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 604  ax-in2 605  ax-io 699  ax-5 1427  ax-7 1428  ax-gen 1429  ax-ie1 1473  ax-ie2 1474  ax-8 1484  ax-10 1485  ax-11 1486  ax-i12 1487  ax-bndl 1489  ax-4 1490  ax-17 1506  ax-i9 1510  ax-ial 1514  ax-i5r 1515  ax-13 2130  ax-14 2131  ax-ext 2139  ax-nul 4090  ax-pr 4168  ax-un 4392  ax-setind 4494  ax-bd0 13347  ax-bdim 13348  ax-bdan 13349  ax-bdor 13350  ax-bdn 13351  ax-bdal 13352  ax-bdex 13353  ax-bdeq 13354  ax-bdel 13355  ax-bdsb 13356  ax-bdsep 13418  ax-infvn 13475
This theorem depends on definitions:  df-bi 116  df-tru 1338  df-fal 1341  df-nf 1441  df-sb 1743  df-clab 2144  df-cleq 2150  df-clel 2153  df-nfc 2288  df-ral 2440  df-rex 2441  df-rab 2444  df-v 2714  df-dif 3104  df-un 3106  df-in 3108  df-ss 3115  df-nul 3395  df-sn 3566  df-pr 3567  df-uni 3773  df-int 3808  df-suc 4330  df-iom 4548  df-bdc 13375  df-bj-ind 13461
This theorem is referenced by:  bj-findisg  13514  bj-findes  13515
  Copyright terms: Public domain W3C validator