rulesubsection23.25ex plus 1ex minus .2ex1.5ex plus .2ex
.
H >> A|B in
by intro
*
>> A in
*
>> B in
rulesubsection23.25ex plus 1ex minus .2ex1.5ex plus .2ex
.
H >> inl(a) in A|B by intro at
*
>> a in A
*
>> B in
.
H >> A|B ext inr(b) by intro at
right
*
>> B ext b
*
>> A in
.
H >> inr(b) in A|B by intro at
*
>> b in B
*
>> A in
rulesubsection23.25ex plus 1ex minus .2ex1.5ex plus .2ex
.
H >> decide(e;x.
;y.
) in T[e/z]
*
by intro [over z.T] using A|B [new u,v]
*
>> e in A|B
*
u:A, e=inl(u) in A|B >>
[u/x]
in T[inl(u)/z]
*
v:B, e=inr(v) in A|B >>
[v/y]
in T[inr(v)/z]
rulesubsection23.25ex plus 1ex minus .2ex1.5ex plus .2ex
.
H >> decide(inl(a);x.
;y.
) = t in T by reduce 1
*
>> [a/x]
= t in T
.
H >> decide(inr(b);x.
;y.
) = t in T by reduce 1
*
>> [b/y]
= t in T