HOLE Home Higher-Order Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  HOLE Home  >  Th. List  >  orval Unicode version

Theorem orval 147
Description: Value of the disjunction. (Contributed by Mario Carneiro, 9-Oct-2014.)
Hypotheses
Ref Expression
imval.1 |- A:*
imval.2 |- B:*
Assertion
Ref Expression
orval |- T. |= [[A \/ B] = (A.\x:* [[A ==> x:*] ==> [[B ==> x:*] ==> x:*]])]
Distinct variable groups:   x,A   x,B

Proof of Theorem orval
Dummy variables p q are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 wor 140 . . 3 |- \/ :(* -> (* -> *))
2 imval.1 . . 3 |- A:*
3 imval.2 . . 3 |- B:*
41, 2, 3wov 72 . 2 |- [A \/ B]:*
5 df-or 132 . . 3 |- T. |= [ \/ = \p:* \q:* (A.\x:* [[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]])]
61, 2, 3, 5oveq 102 . 2 |- T. |= [[A \/ B] = [A\p:* \q:* (A.\x:* [[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]])B]]
7 wal 134 . . . 4 |- A.:((* -> *) -> *)
8 wim 137 . . . . . 6 |- ==> :(* -> (* -> *))
9 wv 64 . . . . . . 7 |- p:*:*
10 wv 64 . . . . . . 7 |- x:*:*
118, 9, 10wov 72 . . . . . 6 |- [p:* ==> x:*]:*
12 wv 64 . . . . . . . 8 |- q:*:*
138, 12, 10wov 72 . . . . . . 7 |- [q:* ==> x:*]:*
148, 13, 10wov 72 . . . . . 6 |- [[q:* ==> x:*] ==> x:*]:*
158, 11, 14wov 72 . . . . 5 |- [[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]:*
1615wl 66 . . . 4 |- \x:* [[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]:(* -> *)
177, 16wc 50 . . 3 |- (A.\x:* [[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]):*
189, 2weqi 76 . . . . . . . 8 |- [p:* = A]:*
1918id 25 . . . . . . 7 |- [p:* = A] |= [p:* = A]
208, 9, 10, 19oveq1 99 . . . . . 6 |- [p:* = A] |= [[p:* ==> x:*] = [A ==> x:*]]
218, 11, 14, 20oveq1 99 . . . . 5 |- [p:* = A] |= [[[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]] = [[A ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]]
2215, 21leq 91 . . . 4 |- [p:* = A] |= [\x:* [[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]] = \x:* [[A ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]]
237, 16, 22ceq2 90 . . 3 |- [p:* = A] |= [(A.\x:* [[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]) = (A.\x:* [[A ==> x:*] ==> [[q:* ==> x:*] ==> x:*]])]
248, 2, 10wov 72 . . . . . 6 |- [A ==> x:*]:*
258, 24, 14wov 72 . . . . 5 |- [[A ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]:*
2625wl 66 . . . 4 |- \x:* [[A ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]:(* -> *)
2712, 3weqi 76 . . . . . . . . 9 |- [q:* = B]:*
2827id 25 . . . . . . . 8 |- [q:* = B] |= [q:* = B]
298, 12, 10, 28oveq1 99 . . . . . . 7 |- [q:* = B] |= [[q:* ==> x:*] = [B ==> x:*]]
308, 13, 10, 29oveq1 99 . . . . . 6 |- [q:* = B] |= [[[q:* ==> x:*] ==> x:*] = [[B ==> x:*] ==> x:*]]
318, 24, 14, 30oveq2 101 . . . . 5 |- [q:* = B] |= [[[A ==> x:*] ==> [[q:* ==> x:*] ==> x:*]] = [[A ==> x:*] ==> [[B ==> x:*] ==> x:*]]]
3225, 31leq 91 . . . 4 |- [q:* = B] |= [\x:* [[A ==> x:*] ==> [[q:* ==> x:*] ==> x:*]] = \x:* [[A ==> x:*] ==> [[B ==> x:*] ==> x:*]]]
337, 26, 32ceq2 90 . . 3 |- [q:* = B] |= [(A.\x:* [[A ==> x:*] ==> [[q:* ==> x:*] ==> x:*]]) = (A.\x:* [[A ==> x:*] ==> [[B ==> x:*] ==> x:*]])]
3417, 2, 3, 23, 33ovl 117 . 2 |- T. |= [[A\p:* \q:* (A.\x:* [[p:* ==> x:*] ==> [[q:* ==> x:*] ==> x:*]])B] = (A.\x:* [[A ==> x:*] ==> [[B ==> x:*] ==> x:*]])]
354, 6, 34eqtri 95 1 |- T. |= [[A \/ B] = (A.\x:* [[A ==> x:*] ==> [[B ==> x:*] ==> x:*]])]
Colors of variables: type var term
Syntax hints:  tv 1   -> ht 2  *hb 3  kc 5  \kl 6   = ke 7  T.kt 8  [kbr 9   |= wffMMJ2 11  wffMMJ2t 12   ==> tim 121  A.tal 122   \/ tor 124
This theorem was proved from axioms:  ax-syl 15  ax-jca 17  ax-simpl 20  ax-simpr 21  ax-id 24  ax-trud 26  ax-cb1 29  ax-cb2 30  ax-wctl 31  ax-wctr 32  ax-weq 40  ax-refl 42  ax-eqmp 45  ax-wc 49  ax-ceq 51  ax-wv 63  ax-wl 65  ax-beta 67  ax-distrc 68  ax-leq 69  ax-distrl 70  ax-wov 71  ax-eqtypi 77  ax-eqtypri 80  ax-hbl1 103  ax-17 105  ax-inst 113
This theorem depends on definitions:  df-ov 73  df-al 126  df-an 128  df-im 129  df-or 132
This theorem is referenced by:  ecase  163  olc  164  orc  165
  Copyright terms: Public domain W3C validator