Theorem caser | index | src |

pub theorem caser (A B: set) (n: nat): $ case A B @ b1 n = B @ n $;
StepHypRefExpression
1 ifpos
odd i -> if (odd i) (B @ (i // 2)) (A @ (i // 2)) = B @ (i // 2)
2 oddeq
i = b1 n -> (odd i <-> odd (b1 n))
3 b1odd
odd (b1 n)
4 3 a1i
i = b1 n -> odd (b1 n)
5 2, 4 mpbird
i = b1 n -> odd i
6 1, 5 syl
i = b1 n -> if (odd i) (B @ (i // 2)) (A @ (i // 2)) = B @ (i // 2)
7 b1div2
b1 n // 2 = n
8 diveq1
i = b1 n -> i // 2 = b1 n // 2
9 7, 8 syl6eq
i = b1 n -> i // 2 = n
10 9 appeq2d
i = b1 n -> B @ (i // 2) = B @ n
11 6, 10 eqtrd
i = b1 n -> if (odd i) (B @ (i // 2)) (A @ (i // 2)) = B @ n
12 11 applame
(\ i, if (odd i) (B @ (i // 2)) (A @ (i // 2))) @ b1 n = B @ n
13 12 conv case
case A B @ b1 n = B @ 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)