Logiweb(TM)

Logiweb aspects of tactic-next-hyp ( " , " , " , " ) in pyk

Up Help

The "pyk" aspect

Define pyk of tactic-next-hyp ( asterisk , asterisk , asterisk , asterisk ) as "tactic-next-hyp ( "! , "! , "! , "! )" end define

The "value" aspect

define value of tactic-next-hyp ( h , t , s , c ) as norm { h is val : { t is val : { s is val : { c is val : LET t BE { asterisk IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime IN LET asterisk prime head BE { asterisk IN LET asterisk prime tail BE { asterisk prime IN LET asterisk prime head BE { asterisk IN LET asterisk prime tail BE { asterisk prime IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime prime IN LET asterisk prime prime head BE { asterisk IN LET asterisk prime prime tail BE { asterisk prime prime IN LET asterisk BE { l IN LET asterisk prime prime head BE { asterisk IN LET asterisk prime prime tail BE { asterisk prime prime IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime prime prime IN LET asterisk prime prime prime head BE { asterisk IN LET asterisk prime prime prime tail BE { asterisk prime prime prime IN LET asterisk BE { x IN LET asterisk prime prime prime head BE { asterisk IN LET asterisk prime prime prime tail BE { asterisk prime prime prime IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE { asterisk IN LET asterisk prime prime prime prime tail BE { asterisk prime prime prime prime IN LET asterisk BE { n IN LET asterisk prime prime prime prime head BE { asterisk IN LET asterisk prime prime prime prime tail BE { asterisk prime prime prime prime IN LET make-root ( t , quote h unquote and { x unquote } end quote ) :: { h :: { x :: true } } BE { asterisk IN LET asterisk BE { h prime IN LET s [[ hook-hyp -> h prime ]] BE { asterisk IN LET asterisk BE { s IN LET s [[ hook-pre -> add-next-hyp* ( x , s [[ hook-pre ]] , c ) ]] BE { asterisk IN LET asterisk BE { s IN LET make-root ( t , quote h prime unquote imply { x unquote } end quote ) :: { h prime :: { x :: true } } BE { asterisk IN LET asterisk BE { x prime IN LET tactic-push ( hook-pre , l :: { x prime :: { { make-root ( x prime , quote x prime unquote Init end quote ) :: { x prime :: true } } :: <<>> } } , s ) BE { asterisk IN LET asterisk BE { s IN LET taceval ( n , s , c ) BE { asterisk IN LET asterisk BE { s IN LET s [[ hook-arg ]] BE { asterisk IN LET asterisk BE { a IN LET s [[ hook-res ]] BE { asterisk IN LET asterisk BE { r IN if { .not. { r r= quote x imply y end quote } } .or. .not. { r first r= quote x and y end quote } then error ( x , LocateProofLine ( x , c ) diag ( "Malformed result of hypothetical reasoning" ) disp ( r ) end diagnose ) else LET make-root ( t , quote { Mend1.48e Init Deref Ponens at { h unquote } } at { x unquote } end quote ) :: { { make-root ( t , quote Mend1.48e Init Deref Ponens at { h unquote } end quote ) :: { { make-root ( t , quote Mend1.48e Init Deref Ponens end quote ) :: { { make-root ( t , quote Mend1.48e Init Deref end quote ) :: { { make-root ( t , quote Mend1.48e Init end quote ) :: { { make-root ( t , quote Mend1.48e end quote ) :: true } :: true } } :: true } } :: true } } :: { h :: true } } } :: { x :: true } } BE { asterisk IN LET asterisk BE { a prime IN LET make-root ( t , quote { { { Lcurry Init Deref Ponens at { r first first unquote } } at { r first second unquote } } at { r second unquote } } Ponens end quote ) :: { { make-root ( t , quote { { Lcurry Init Deref Ponens at { r first first unquote } } at { r first second unquote } } at { r second unquote } end quote ) :: { { make-root ( t , quote { Lcurry Init Deref Ponens at { r first first unquote } } at { r first second unquote } end quote ) :: { { make-root ( t , quote Lcurry Init Deref Ponens at { r first first unquote } end quote ) :: { { make-root ( t , quote Lcurry Init Deref Ponens end quote ) :: { { make-root ( t , quote Lcurry Init Deref end quote ) :: { { make-root ( t , quote Lcurry Init end quote ) :: { { make-root ( t , quote Lcurry end quote ) :: true } :: true } } :: true } } :: true } } :: { r first first :: true } } } :: { r first second :: true } } } :: { r second :: true } } } :: true } BE { asterisk IN LET asterisk BE { a prime prime IN LET make-root ( t , quote r first first unquote imply { r first second unquote imply { r second unquote } } end quote ) :: { r first first :: { { make-root ( t , quote r first second unquote imply { r second unquote } end quote ) :: { r first second :: { r second :: true } } } :: true } } BE { asterisk IN LET asterisk BE { r IN { s [[ hook-arg -> make-root ( t , quote a prime unquote ;; { s [[ hook-arg ]] unquote ;; { a prime prime unquote } } end quote ) :: { a prime :: { { make-root ( t , quote s [[ hook-arg ]] unquote ;; { a prime prime unquote } end quote ) :: { s [[ hook-arg ]] :: { a prime prime :: true } } } :: true } } ]] [[ hook-res -> r ]] } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } end define

The pyk compiler, version 0.1.9 by Klaus Grue,
GRD-2007-07-12.UTC:20:13:13.678589 = MJD-54293.TAI:20:13:46.678589 = LGT-4690988026678589e-6