Z3 用LeoⅡ证明Frobenius代数中的定理

Z3 用LeoⅡ证明Frobenius代数中的定理,z3,theorem-proving,abstract-algebra,Z3,Theorem Proving,Abstract Algebra,使用ATP Leo II和TPTP thf语言,可以证明Frobenius代数和开闭余元中的许多定理。我使用以下代码创建了一个 thf(alpha_decl,type,(alpha: $aaxa > $axaa)). thf(invalpha_decl,type,(invalpha: $axaa > $aaxa )). thf(mu_decl,type,(mu: $aa > $a )). thf(eta_decl,type,(eta: $i > $a )). thf(m

使用ATP Leo II和TPTP thf语言,可以证明Frobenius代数和开闭余元中的许多定理。我使用以下代码创建了一个

 thf(alpha_decl,type,(alpha: $aaxa > $axaa)).
thf(invalpha_decl,type,(invalpha: $axaa > $aaxa )).
thf(mu_decl,type,(mu: $aa > $a )).
thf(eta_decl,type,(eta: $i > $a )).
thf(muid_decl,type,(muid: $aaxa > $aa )).
thf(idmu_decl,type,(idmu: $axaa > $aa )).
thf(etaid_decl,type,(etaid: $ja > $aa )).
thf(ideta_decl,type,(ideta: $ai > $aa )).
thf(lamb_decl,type,(lamb: $ja > $a )).
thf(rho_decl,type,(rho: $ai > $a )).
thf(delta_decl,type,(delta: $a > $aa )).


thf(deltaid_decl,type,(deltaid: $aa > $aaxa )).
thf(iddelta_decl,type,(iddelta: $aa > $axaa )).
thf(epsilon_decl,type,(epsilon: $a > $i )).
thf(invlamb_decl,type,(invlamb: $a > $ja )).
thf(invrho_decl,type,(invrho: $a > $ai )).
thf(epsilonid_decl,type,(epsilonid: $aa > $ja )).
thf(idepsilon_decl,type,(idepsilon: $aa > $ai )).
thf(id_decl,type,(id: $a > $a )).
thf(beta1_decl,type,( beta1: $a > $ai )).
thf(beta2_decl,type,(beta2: $a > $ja )).
thf(invbeta1_decl,type,(invbeta1: $ai > $a )).
thf(invbeta2_decl,type,(invbeta2: $ja > $a )).
thf(axio1,axiom,(! [X: $ja] :
      ( (lamb @ X)  = (mu @ (etaid @ X ) )   )    )).
thf(axio2,axiom,(! [X: $ai] :
      ( (rho @ X)  = (mu @ (ideta @ X ) )   )    )).
thf(axio3,axiom,(! [X: $aaxa] :
      ( (mu @ (idmu @ (alpha @ X))   )  = (mu @ (muid @ X) )   )    )).
thf(axio4,axiom,(! [X: $a] :
      ( (iddelta @ (delta @ X) )  = (alpha @ (deltaid @ (delta @ X)) ) )   )).
thf(axio5,axiom,(! [X: $a] :
      (  (epsilonid @ (delta @ X) )  = (invlamb @ X )    )   )).
thf(axio6,axiom,(! [X: $a] :
      (  (idepsilon @ (delta @ X) )  = (invrho @ X )    )   )).
thf(axio7,axiom,(! [X: $aa] :
      (  (muid @ (invalpha @ (iddelta @ X))    )  = (delta @ (mu @ X))    )   )).
thf(axio8,axiom,(! [X: $aa] :
      (  (idmu @ (alpha @ (deltaid @ X))    )  = (delta @ (mu @ X))    )   )).
thf(axio9,axiom,(! [X: $a] :
      (  (mu @ (ideta @ (beta1 @ X))    )  = (id @ X)    )   )).
thf(axio10,axiom,(! [X: $a] :
      (  (mu @ (etaid @ (beta2 @ X))    )  = (id @ X)    )   )).
thf(axio11,axiom,(! [X: $a] :
      (  (invbeta1 @ (idepsilon @ (delta @ X))    )  = (id @ X)    )   )).
thf(axio12,axiom,(! [X: $a] :
      (  (invbeta2 @ (epsilonid @ (delta @ X))    )  = (id @ X)    )   )).
thf(axio13,axiom,(! [X: $a] :
      (  (id @ (id @ X)    )  = (id @ X)    )   )).

thf(axio14,axiom,(! [X: $a] :
      (  (delta @ (id @ X)    )  = (delta @ X)    )   )).
例如,有可能证明

将前面的代码与下面的句子一起使用

    thf(conj,conjecture,(! [X: $ja] :
      ( (idepsilon @ (idmu @ (alpha @ (deltaid @ (etaid @ X))) )  ) = 
        (idepsilon @ (delta @ (mu @ (etaid @ X))))
                 )  )).
thf(conj2,conjecture,(! [X: $a] :
      ( (invbeta1 @ (idepsilon @ (delta @ (mu @ (etaid @ (beta2 @ X)))) )  ) = 
        (id @ X)
                 )  )).
thf(conj3,conjecture,(! [X: $ai] :
      ( (epsilonid @ (muid @ (invalpha @ (iddelta @ (ideta @ X))) )  ) = 
        (epsilonid @ (delta @ (mu @ (ideta @ X))))
                 )  )).
thf(conj4,conjecture,(! [X: $a] :
      ( (invbeta2 @ (epsilonid @ (delta @ (mu @ (ideta @ (beta1 @ X)))) )  ) = 
        (id @ X)
                 )  )).
Leo II产生的输出是

 % END OF SYSTEM OUTPUT
% RESULT: SOT_RS_aB8 - LEO-II---1.6.2 says Theorem - CPU = 0.05 WC = 0.17 
% OUTPUT: SOT_RS_aB8 - LEO-II---1.6.2 says CNFRefutation - CPU = 0.05 WC = 0.17 
我的问题是:如何使用大锤从狮子座II的输出中为人类提取证据

请看一看