theorem xabeqd (_G: wff) {x: nat} (_A1 _A2 _B1 _B2: set x):
  $ _G -> _A1 == _A2 $ >
  $ _G -> _B1 == _B2 $ >
  $ _G -> X\ x e. _A1, _B1 == X\ x e. _A2, _B2 $;
    
      
        | Step | Hyp | Ref | Expression | 
        
          | 1 | 
           | 
          eqidd | 
          _G -> fst z = fst z  | 
        
        
          | 2 | 
           | 
          hyp _Ah | 
          _G -> _A1 == _A2  | 
        
        
          | 3 | 
          1, 2 | 
          eleqd | 
          _G -> (fst z e. _A1 <-> fst z e. _A2)  | 
        
        
          | 4 | 
           | 
          eqidd | 
          _G -> snd z = snd z  | 
        
        
          | 5 | 
           | 
          hyp _Bh | 
          _G -> _B1 == _B2  | 
        
        
          | 6 | 
          1, 5 | 
          sbseqd | 
          _G -> S[fst z / x] _B1 == S[fst z / x] _B2  | 
        
        
          | 7 | 
          4, 6 | 
          eleqd | 
          _G -> (snd z e. S[fst z / x] _B1 <-> snd z e. S[fst z / x] _B2)  | 
        
        
          | 8 | 
          3, 7 | 
          aneqd | 
          _G -> (fst z e. _A1 /\ snd z e. S[fst z / x] _B1 <-> fst z e. _A2 /\ snd z e. S[fst z / x] _B2)  | 
        
        
          | 9 | 
          8 | 
          abeqd | 
          _G -> {z | fst z e. _A1 /\ snd z e. S[fst z / x] _B1} == {z | fst z e. _A2 /\ snd z e. S[fst z / x] _B2} | 
        
        
          | 10 | 
          9 | 
          conv xab | 
          _G -> X\ x e. _A1, _B1 == X\ x e. _A2, _B2  | 
        
      
    
    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)