theorem appslam (B: set) (a b: nat) {x: nat} (A: set x):
  $ x = a -> A == B $ >
  $ (\\ x, A) @ (a, b) = B @ b $;
    
      
        | Step | Hyp | Ref | Expression | 
        
          | 1 | 
           | 
          eqtr | 
          (\\ x, A) @ (a, b) = (S[a / x] A) @ b -> (S[a / x] A) @ b = B @ b -> (\\ x, A) @ (a, b) = B @ b  | 
        
        
          | 2 | 
           | 
          appslams | 
          (\\ x, A) @ (a, b) = (S[a / x] A) @ b  | 
        
        
          | 3 | 
          1, 2 | 
          ax_mp | 
          (S[a / x] A) @ b = B @ b -> (\\ x, A) @ (a, b) = B @ b  | 
        
        
          | 4 | 
           | 
          appeq1 | 
          S[a / x] A == B -> (S[a / x] A) @ b = B @ b  | 
        
        
          | 5 | 
           | 
          hyp h | 
          x = a -> A == B  | 
        
        
          | 6 | 
          5 | 
          sbse | 
          S[a / x] A == B  | 
        
        
          | 7 | 
          4, 6 | 
          ax_mp | 
          (S[a / x] A) @ b = B @ b  | 
        
        
          | 8 | 
          3, 7 | 
          ax_mp | 
          (\\ x, A) @ (a, b) = B @ b  | 
        
      
    
    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)