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

Theorem ac 197
Description: Defining property of the indefinite descriptor: it selects an element from any type. This is equivalent to global choice in ZF. (Contributed by Mario Carneiro, 10-Oct-2014.)
Hypotheses
Ref Expression
ac.1 F:(α → ∗)
ac.2 A:α
Assertion
Ref Expression
ac (FA)⊧(FF))

Proof of Theorem ac
Dummy variables x p are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ac.1 . . 3 F:(α → ∗)
2 wat 193 . . . 4 ε:((α → ∗) → α)
32, 1wc 50 . . 3 F):α
41, 3wc 50 . 2 (FF)):∗
5 ac.2 . . . 4 A:α
61, 5wc 50 . . 3 (FA):∗
76id 25 . 2 (FA)⊧(FA)
87ax-cb1 29 . . 3 (FA):∗
9 ax-ac 196 . . . . 5 ⊤⊧(λp:(α → ∗) (λx:α [(p:(α → ∗)x:α) ⇒ (p:(α → ∗)(εp:(α → ∗)))]))
10 wal 134 . . . . . . 7 :((α → ∗) → ∗)
11 wim 137 . . . . . . . . 9 ⇒ :(∗ → (∗ → ∗))
12 wv 64 . . . . . . . . . 10 p:(α → ∗):(α → ∗)
13 wv 64 . . . . . . . . . 10 x:α:α
1412, 13wc 50 . . . . . . . . 9 (p:(α → ∗)x:α):∗
152, 12wc 50 . . . . . . . . . 10 p:(α → ∗)):α
1612, 15wc 50 . . . . . . . . 9 (p:(α → ∗)(εp:(α → ∗))):∗
1711, 14, 16wov 72 . . . . . . . 8 [(p:(α → ∗)x:α) ⇒ (p:(α → ∗)(εp:(α → ∗)))]:∗
1817wl 66 . . . . . . 7 λx:α [(p:(α → ∗)x:α) ⇒ (p:(α → ∗)(εp:(α → ∗)))]:(α → ∗)
1910, 18wc 50 . . . . . 6 (λx:α [(p:(α → ∗)x:α) ⇒ (p:(α → ∗)(εp:(α → ∗)))]):∗
2012, 1weqi 76 . . . . . . . . . . 11 [p:(α → ∗) = F]:∗
2120id 25 . . . . . . . . . 10 [p:(α → ∗) = F]⊧[p:(α → ∗) = F]
2212, 13, 21ceq1 89 . . . . . . . . 9 [p:(α → ∗) = F]⊧[(p:(α → ∗)x:α) = (Fx:α)]
232, 12, 21ceq2 90 . . . . . . . . . 10 [p:(α → ∗) = F]⊧[(εp:(α → ∗)) = (εF)]
2412, 15, 21, 23ceq12 88 . . . . . . . . 9 [p:(α → ∗) = F]⊧[(p:(α → ∗)(εp:(α → ∗))) = (FF))]
2511, 14, 16, 22, 24oveq12 100 . . . . . . . 8 [p:(α → ∗) = F]⊧[[(p:(α → ∗)x:α) ⇒ (p:(α → ∗)(εp:(α → ∗)))] = [(Fx:α) ⇒ (FF))]]
2617, 25leq 91 . . . . . . 7 [p:(α → ∗) = F]⊧[λx:α [(p:(α → ∗)x:α) ⇒ (p:(α → ∗)(εp:(α → ∗)))] = λx:α [(Fx:α) ⇒ (FF))]]
2710, 18, 26ceq2 90 . . . . . 6 [p:(α → ∗) = F]⊧[(λx:α [(p:(α → ∗)x:α) ⇒ (p:(α → ∗)(εp:(α → ∗)))]) = (λx:α [(Fx:α) ⇒ (FF))])]
2819, 1, 27cla4v 152 . . . . 5 (λp:(α → ∗) (λx:α [(p:(α → ∗)x:α) ⇒ (p:(α → ∗)(εp:(α → ∗)))]))⊧(λx:α [(Fx:α) ⇒ (FF))])
299, 28syl 16 . . . 4 ⊤⊧(λx:α [(Fx:α) ⇒ (FF))])
3017, 25eqtypi 78 . . . . 5 [(Fx:α) ⇒ (FF))]:∗
311, 13wc 50 . . . . . 6 (Fx:α):∗
3213, 5weqi 76 . . . . . . . 8 [x:α = A]:∗
3332id 25 . . . . . . 7 [x:α = A]⊧[x:α = A]
341, 13, 33ceq2 90 . . . . . 6 [x:α = A]⊧[(Fx:α) = (FA)]
3511, 31, 4, 34oveq1 99 . . . . 5 [x:α = A]⊧[[(Fx:α) ⇒ (FF))] = [(FA) ⇒ (FF))]]
3630, 5, 35cla4v 152 . . . 4 (λx:α [(Fx:α) ⇒ (FF))])⊧[(FA) ⇒ (FF))]
3729, 36syl 16 . . 3 ⊤⊧[(FA) ⇒ (FF))]
388, 37a1i 28 . 2 (FA)⊧[(FA) ⇒ (FF))]
394, 7, 38mpd 156 1 (FA)⊧(FF))
Colors of variables: type var term
Syntax hints:  tv 1  ht 2  hb 3  kc 5  λkl 6   = ke 7  kt 8  [kbr 9  wffMMJ2 11  wffMMJ2t 12  tim 121  tal 122  εtat 191
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-ded 46  ax-wct 47  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  ax-wat 192  ax-ac 196
This theorem depends on definitions:  df-ov 73  df-al 126  df-an 128  df-im 129
This theorem is referenced by:  dfex2  198  exmid  199
  Copyright terms: Public domain W3C validator