Theorem sbcom | index | src |

theorem sbcom (a b: nat) {x y: nat} (p: wff x y):
  $ [a / x] [b / y] p <-> [b / y] [a / x] p $;
StepHypRefExpression
1 bitr
([a / x] [b / y] p <-> A. x (x = a -> [b / y] p)) -> (A. x (x = a -> [b / y] p) <-> [b / y] [a / x] p) -> ([a / x] [b / y] p <-> [b / y] [a / x] p)
2 dfsb2
[a / x] [b / y] p <-> A. x (x = a -> [b / y] p)
3 1, 2 ax_mp
(A. x (x = a -> [b / y] p) <-> [b / y] [a / x] p) -> ([a / x] [b / y] p <-> [b / y] [a / x] p)
4 bitr4
(A. x (x = a -> [b / y] p) <-> A. x (x = a -> A. y (y = b -> p))) ->
  ([b / y] [a / x] p <-> A. x (x = a -> A. y (y = b -> p))) ->
  (A. x (x = a -> [b / y] p) <-> [b / y] [a / x] p)
5 dfsb2
[b / y] p <-> A. y (y = b -> p)
6 5 raleqi
A. x (x = a -> [b / y] p) <-> A. x (x = a -> A. y (y = b -> p))
7 4, 6 ax_mp
([b / y] [a / x] p <-> A. x (x = a -> A. y (y = b -> p))) -> (A. x (x = a -> [b / y] p) <-> [b / y] [a / x] p)
8 bitr
([b / y] [a / x] p <-> A. y (y = b -> [a / x] p)) ->
  (A. y (y = b -> [a / x] p) <-> A. x (x = a -> A. y (y = b -> p))) ->
  ([b / y] [a / x] p <-> A. x (x = a -> A. y (y = b -> p)))
9 dfsb2
[b / y] [a / x] p <-> A. y (y = b -> [a / x] p)
10 8, 9 ax_mp
(A. y (y = b -> [a / x] p) <-> A. x (x = a -> A. y (y = b -> p))) -> ([b / y] [a / x] p <-> A. x (x = a -> A. y (y = b -> p)))
11 bitr4
(A. y (y = b -> [a / x] p) <-> A. y (y = b -> A. x (x = a -> p))) ->
  (A. x (x = a -> A. y (y = b -> p)) <-> A. y (y = b -> A. x (x = a -> p))) ->
  (A. y (y = b -> [a / x] p) <-> A. x (x = a -> A. y (y = b -> p)))
12 dfsb2
[a / x] p <-> A. x (x = a -> p)
13 12 raleqi
A. y (y = b -> [a / x] p) <-> A. y (y = b -> A. x (x = a -> p))
14 11, 13 ax_mp
(A. x (x = a -> A. y (y = b -> p)) <-> A. y (y = b -> A. x (x = a -> p))) -> (A. y (y = b -> [a / x] p) <-> A. x (x = a -> A. y (y = b -> p)))
15 ralcomb
A. x (x = a -> A. y (y = b -> p)) <-> A. y (y = b -> A. x (x = a -> p))
16 14, 15 ax_mp
A. y (y = b -> [a / x] p) <-> A. x (x = a -> A. y (y = b -> p))
17 10, 16 ax_mp
[b / y] [a / x] p <-> A. x (x = a -> A. y (y = b -> p))
18 7, 17 ax_mp
A. x (x = a -> [b / y] p) <-> [b / y] [a / x] p
19 3, 18 ax_mp
[a / x] [b / y] p <-> [b / y] [a / x] p

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)