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

Theorem cbvf 179
Description: Change bound variables in a lambda abstraction. (Contributed by Mario Carneiro, 8-Oct-2014.)
Hypotheses
Ref Expression
cbvf.1 |- A:be
cbvf.2 |- T. |= [(\y:al Az:al) = A]
cbvf.3 |- T. |= [(\x:al Bz:al) = B]
cbvf.4 |- [x:al = y:al] |= [A = B]
Assertion
Ref Expression
cbvf |- T. |= [\x:al A = \y:al B]
Distinct variable groups:   z,A   z,B   x,y,z,al

Proof of Theorem cbvf
Dummy variable p is distinct from all other variables.
StepHypRef Expression
1 cbvf.1 . . . . 5 |- A:be
21wl 66 . . . 4 |- \x:al A:(al -> be)
3 wv 64 . . . 4 |- p:al:al
42, 3wc 50 . . 3 |- (\x:al Ap:al):be
54wl 66 . 2 |- \p:al (\x:al Ap:al):(al -> be)
6 cbvf.4 . . . . . . . 8 |- [x:al = y:al] |= [A = B]
71, 6eqtypi 78 . . . . . . 7 |- B:be
87wl 66 . . . . . 6 |- \y:al B:(al -> be)
98, 3wc 50 . . . . 5 |- (\y:al Bp:al):be
104, 9weqi 76 . . . 4 |- [(\x:al Ap:al) = (\y:al Bp:al)]:*
11 wv 64 . . . . 5 |- y:al:al
12 cbvf.3 . . . . 5 |- T. |= [(\x:al Bz:al) = B]
13 wv 64 . . . . . 6 |- z:al:al
1411, 13ax-17 105 . . . . 5 |- T. |= [(\x:al y:alz:al) = y:al]
151, 11, 6, 12, 14clf 115 . . . 4 |- T. |= [(\x:al Ay:al) = B]
16 weq 41 . . . . 5 |- = :(be -> (be -> *))
1716, 13ax-17 105 . . . . 5 |- T. |= [(\y:al = z:al) = = ]
18 cbvf.2 . . . . . . 7 |- T. |= [(\y:al Az:al) = A]
191, 13, 18hbl 112 . . . . . 6 |- T. |= [(\y:al \x:al Az:al) = \x:al A]
203, 13ax-17 105 . . . . . 6 |- T. |= [(\y:al p:alz:al) = p:al]
212, 3, 13, 19, 20hbc 110 . . . . 5 |- T. |= [(\y:al (\x:al Ap:al)z:al) = (\x:al Ap:al)]
2218ax-cb1 29 . . . . . . 7 |- T.:*
237, 13, 22hbl1 104 . . . . . 6 |- T. |= [(\y:al \y:al Bz:al) = \y:al B]
248, 3, 13, 23, 20hbc 110 . . . . 5 |- T. |= [(\y:al (\y:al Bp:al)z:al) = (\y:al Bp:al)]
2516, 4, 13, 9, 17, 21, 24hbov 111 . . . 4 |- T. |= [(\y:al [(\x:al Ap:al) = (\y:al Bp:al)]z:al) = [(\x:al Ap:al) = (\y:al Bp:al)]]
262, 11wc 50 . . . . 5 |- (\x:al Ay:al):be
2711, 3weqi 76 . . . . . . 7 |- [y:al = p:al]:*
2827id 25 . . . . . 6 |- [y:al = p:al] |= [y:al = p:al]
292, 11, 28ceq2 90 . . . . 5 |- [y:al = p:al] |= [(\x:al Ay:al) = (\x:al Ap:al)]
3029ax-cb1 29 . . . . . . 7 |- [y:al = p:al]:*
318, 11wc 50 . . . . . . . 8 |- (\y:al By:al):be
327beta 92 . . . . . . . 8 |- T. |= [(\y:al By:al) = B]
3331, 32eqcomi 79 . . . . . . 7 |- T. |= [B = (\y:al By:al)]
3430, 33a1i 28 . . . . . 6 |- [y:al = p:al] |= [B = (\y:al By:al)]
358, 11, 28ceq2 90 . . . . . 6 |- [y:al = p:al] |= [(\y:al By:al) = (\y:al Bp:al)]
367, 34, 35eqtri 95 . . . . 5 |- [y:al = p:al] |= [B = (\y:al Bp:al)]
3716, 26, 7, 29, 36oveq12 100 . . . 4 |- [y:al = p:al] |= [[(\x:al Ay:al) = B] = [(\x:al Ap:al) = (\y:al Bp:al)]]
383, 10, 15, 25, 37insti 114 . . 3 |- T. |= [(\x:al Ap:al) = (\y:al Bp:al)]
394, 38leq 91 . 2 |- T. |= [\p:al (\x:al Ap:al) = \p:al (\y:al Bp:al)]
402eta 178 . 2 |- T. |= [\p:al (\x:al Ap:al) = \x:al A]
418eta 178 . 2 |- T. |= [\p:al (\y:al Bp:al) = \y:al B]
425, 39, 40, 413eqtr3i 97 1 |- T. |= [\x:al A = \y:al B]
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
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-eta 177
This theorem depends on definitions:  df-ov 73  df-al 126
This theorem is referenced by:  cbv  180
  Copyright terms: Public domain W3C validator