Theorem casel | index | src |

pub theorem casel (A B: set) (n: nat): $ case A B @ b0 n = A @ n $;
StepHypRefExpression
1 ifneg
~odd i -> if (odd i) (B @ (i // 2)) (A @ (i // 2)) = A @ (i // 2)
2 oddeq
i = b0 n -> (odd i <-> odd (b0 n))
3 b0odd
~odd (b0 n)
4 3 a1i
i = b0 n -> ~odd (b0 n)
5 2, 4 mtbird
i = b0 n -> ~odd i
6 1, 5 syl
i = b0 n -> if (odd i) (B @ (i // 2)) (A @ (i // 2)) = A @ (i // 2)
7 b0div2
b0 n // 2 = n
8 diveq1
i = b0 n -> i // 2 = b0 n // 2
9 7, 8 syl6eq
i = b0 n -> i // 2 = n
10 9 appeq2d
i = b0 n -> A @ (i // 2) = A @ n
11 6, 10 eqtrd
i = b0 n -> if (odd i) (B @ (i // 2)) (A @ (i // 2)) = A @ n
12 11 applame
(\ i, if (odd i) (B @ (i // 2)) (A @ (i // 2))) @ b0 n = A @ n
13 12 conv case
case A B @ b0 n = A @ n

Axiom use

axs_prop_calc (ax_1, ax_2, ax_3, ax_mp, itru), axs_pred_calc (ax_gen, ax_4, ax_5, ax_6, ax_7, ax_10, ax_11, ax_12), axs_set (elab, ax_8), axs_the (theid, the0), axs_peano (peano1, peano2, peano5, addeq, muleq, add0, addS, mul0, mulS)