LK in HOL Light
■ 前件の導入
# g`a==>b`;;
Warning: Free variables in goal: a, b
val it : goalstack = 1 subgoal (1 total)`a ==> b`
# e(DISCH_THEN(fun t->ALL_TAC));;
val it : goalstack = 1 subgoal (1 total)`b`
■ 仮定の導入
# g`a==>b`;;
Warning: Free variables in goal: a, b
val it : goalstack = 1 subgoal (1 total)`a ==> b`
# e(STRIP_TAC);;
val it : goalstack = 1 subgoal (1 total)0 [`a`]
`b`
# e(FIRST_X_ASSUM(fun t->ALL_TAC));;
val it : goalstack = 1 subgoal (1 total)`b`
■ 後件の導入
# g`a==>(b1\/b2)`;;
Warning: Free variables in goal: a, b1, b2
val it : goalstack = 1 subgoal (1 total)`a ==> b1 \/ b2`
# e(DISCH_THEN(fun t->DISJ1_TAC THEN MP_TAC t));;
val it : goalstack = 1 subgoal (1 total)`a ==> b1`
# b();;
val it : goalstack = 1 subgoal (1 total)`a ==> b1 \/ b2`
# e(DISCH_THEN(fun t->DISJ2_TAC THEN MP_TAC t));;
val it : goalstack = 1 subgoal (1 total)`a ==> b2`