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

Theorem ac 184
Description: Defining property of the indefinite descriptor: it selects an element from any type. This is equivalent to global choice in ZF.
Hypotheses
Ref Expression
ac.1 |- F:(al -> *)
ac.2 |- A:al
Assertion
Ref Expression
ac |- (FA) |= (F(@F))

Proof of Theorem ac
Dummy variables x p are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ac.1 . . 3 |- F:(al -> *)
2 wat 180 . . . 4 |- @:((al -> *) -> al)
32, 1wc 45 . . 3 |- (@F):al
41, 3wc 45 . 2 |- (F(@F)):*
5 ac.2 . . . 4 |- A:al
61, 5wc 45 . . 3 |- (FA):*
76id 25 . 2 |- (FA) |= (FA)
87ax-cb1 29 . . 3 |- (FA):*
9 ax-ac 183 . . . . 5 |- T. |= (A.\p:(al -> *) (A.\x:al [(p:(al -> *)x:al) ==> (p:(al -> *)(@p:(al -> *)))]))
10 wal 124 . . . . . . 7 |- A.:((al -> *) -> *)
11 wim 127 . . . . . . . . 9 |- ==> :(* -> (* -> *))
12 wv 58 . . . . . . . . . 10 |- p:(al -> *):(al -> *)
13 wv 58 . . . . . . . . . 10 |- x:al:al
1412, 13wc 45 . . . . . . . . 9 |- (p:(al -> *)x:al):*
152, 12wc 45 . . . . . . . . . 10 |- (@p:(al -> *)):al
1612, 15wc 45 . . . . . . . . 9 |- (p:(al -> *)(@p:(al -> *))):*
1711, 14, 16wov 64 . . . . . . . 8 |- [(p:(al -> *)x:al) ==> (p:(al -> *)(@p:(al -> *)))]:*
1817wl 59 . . . . . . 7 |- \x:al [(p:(al -> *)x:al) ==> (p:(al -> *)(@p:(al -> *)))]:(al -> *)
1910, 18wc 45 . . . . . 6 |- (A.\x:al [(p:(al -> *)x:al) ==> (p:(al -> *)(@p:(al -> *)))]):*
2012, 1weqi 68 . . . . . . . . . . 11 |- [p:(al -> *) = F]:*
2120id 25 . . . . . . . . . 10 |- [p:(al -> *) = F] |= [p:(al -> *) = F]
2212, 13, 21ceq1 79 . . . . . . . . 9 |- [p:(al -> *) = F] |= [(p:(al -> *)x:al) = (Fx:al)]
232, 12, 21ceq2 80 . . . . . . . . . 10 |- [p:(al -> *) = F] |= [(@p:(al -> *)) = (@F)]
2412, 15, 21, 23ceq12 78 . . . . . . . . 9 |- [p:(al -> *) = F] |= [(p:(al -> *)(@p:(al -> *))) = (F(@F))]
2511, 14, 16, 22, 24oveq12 90 . . . . . . . 8 |- [p:(al -> *) = F] |= [[(p:(al -> *)x:al) ==> (p:(al -> *)(@p:(al -> *)))] = [(Fx:al) ==> (F(@F))]]
2617, 25leq 81 . . . . . . 7 |- [p:(al -> *) = F] |= [\x:al [(p:(al -> *)x:al) ==> (p:(al -> *)(@p:(al -> *)))] = \x:al [(Fx:al) ==> (F(@F))]]
2710, 18, 26ceq2 80 . . . . . 6 |- [p:(al -> *) = F] |= [(A.\x:al [(p:(al -> *)x:al) ==> (p:(al -> *)(@p:(al -> *)))]) = (A.\x:al [(Fx:al) ==> (F(@F))])]
2819, 1, 27cla4v 142 . . . . 5 |- (A.\p:(al -> *) (A.\x:al [(p:(al -> *)x:al) ==> (p:(al -> *)(@p:(al -> *)))])) |= (A.\x:al [(Fx:al) ==> (F(@F))])
299, 28syl 16 . . . 4 |- T. |= (A.\x:al [(Fx:al) ==> (F(@F))])
3017, 25eqtypi 69 . . . . 5 |- [(Fx:al) ==> (F(@F))]:*
311, 13wc 45 . . . . . 6 |- (Fx:al):*
3213, 5weqi 68 . . . . . . . 8 |- [x:al = A]:*
3332id 25 . . . . . . 7 |- [x:al = A] |= [x:al = A]
341, 13, 33ceq2 80 . . . . . 6 |- [x:al = A] |= [(Fx:al) = (FA)]
3511, 31, 4, 34oveq1 89 . . . . 5 |- [x:al = A] |= [[(Fx:al) ==> (F(@F))] = [(FA) ==> (F(@F))]]
3630, 5, 35cla4v 142 . . . 4 |- (A.\x:al [(Fx:al) ==> (F(@F))]) |= [(FA) ==> (F(@F))]
3729, 36syl 16 . . 3 |- T. |= [(FA) ==> (F(@F))]
388, 37a1i 28 . 2 |- (FA) |= [(FA) ==> (F(@F))]
394, 7, 38mpd 146 1 |- (FA) |= (F(@F))
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 111  A.tal 112  @tat 179
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-refl 39  ax-eqmp 42  ax-ded 43  ax-ceq 46  ax-beta 60  ax-distrc 61  ax-leq 62  ax-distrl 63  ax-hbl1 93  ax-17 95  ax-inst 103  ax-ac 183
This theorem depends on definitions:  df-ov 65  df-al 116  df-an 118  df-im 119
This theorem is referenced by:  dfex2  185  exmid  186
  Copyright terms: Public domain W3C validator