higher-order prover のこと(4)
勿論
echo 'thf(nat,type,nat : $tType). thf(z,type,z : nat). thf(suc,type,suc : nat > nat). thf(nat_induction,axiom,( ! [P : nat > $o] : (((P @ z) & (! [N : nat] : ((P @ N) => (P @ (suc @ N))))) => (! [N : nat] : (P @ N))) )). thf(f,type,f : nat > $o). thf(gl,conjecture,( ( (((f @ z) & (f @ (suc @ z))) & (! [N : nat] : (((f @ N) & (f @ (suc @ N))) => (f @ (suc @ (suc @ N)))))) => (! [N : nat] : ((f @ N) & (f @ (suc @ N))) )) )). '> demo3.p satallax -p coqscript -c ./demo3.v ./demo3.p coqide ./demo3.v
も通りますが,結論を
(! [N : nat] : (f @ N) )
だけにするとやはり帰って来ません.この辺り,TPS( http://gtps.math.cmu.edu/tps.html )だと
% SZS status Theorem +++ TPS proved gl using mode MODE-THM122-PR97 in 0 seconds. +++
と答えてくれるのは年季の違いでしょう.