rulesubsection23.25ex plus 1ex minus .2ex1.5ex plus .2ex
 
.
  H >> x:A#B in 
 by intro [new y] 
 *
>> A in 
 
 *
y:A >> B[y/x]
 in 
 
.
  H >> 
 ext A#B by intro product 
 *
>> 
 ext A
 *
>> 
 ext B
 
.
  H >> A#B in 
 by intro 
 *
>> A in 
 
 *
>> B in 
rulesubsection23.25ex plus 1ex minus .2ex1.5ex plus .2ex
 
.
  H >> <a,b> in x:A#B by intro at 
 [new y] 
 *
>> a in A 
 *
>> b in B[a/x]
 
 *
y:A >> B[y/x]
 in 
 
.
  H >> A#B ext <a,b> by intro 
 *
>> A ext a 
 *
>> B ext b
 
.
  H >> <a,b> in A#B by intro 
 *
>> a in A 
 *
>> b in B
rulesubsection23.25ex plus 1ex minus .2ex1.5ex plus .2ex
 
.
  H >> spread(e;
) in T[e/z]
 
 *
by intro [over 
] using  w:A#B [new u,v] 
 *
>> e in w:A#B 
 *
u:A,v:B[u/w]
,e=<u,v> in w:A#B >>
            t[u,v/x,y]
 in T[<u,v>/z]
rulesubsection23.25ex plus 1ex minus .2ex1.5ex plus .2ex