## Logiweb aspects of f.unitac-adapt ( " , " , " ) in pyk

### The "pyk" aspect

Define pyk of f.unitac-adapt ( asterisk , asterisk , asterisk ) as "f.unitac-adapt ( "! , "! , "! )" end define

### The "value" aspect

define value of f.unitac-adapt ( t , s , c ) as norm { t is val : { s is val : { c is val : if t = "var" then s else LET s [[ hook-res ]] BE { asterisk IN LET asterisk BE { r IN LET r metadef ( c ) BE { asterisk IN LET asterisk BE { d IN if .not. d then s else if .not. { r r= quote x imply y end quote } then error ( r , LocateProofLine ( r , c ) diag ( "Malformed result of hypothetical reasoning" ) disp ( r ) end diagnose ) else LET r first BE { asterisk IN LET asterisk BE { h IN LET r second BE { asterisk IN LET asterisk BE { r IN if .not. { r metadef ( c ) } then s else LET r mathdef ( c ) BE { asterisk IN LET asterisk BE { d IN if d = t then s else LET s [[ hook-arg ]] BE { asterisk IN LET asterisk BE { a IN if d = "all" then f.unitac-adapt-all ( t , h , a , r , r , s [[ hook-idx ]] , true , s , c ) else if d = "imply" then LET r first BE { asterisk IN LET asterisk BE { x IN LET r second BE { asterisk IN LET asterisk BE { y IN LET make-root ( t , quote a unquote ;; { { h unquote imply { x unquote } } Init ;; { { { { MP' Init Deref Ponens at { h unquote } } at { x unquote } } at { y unquote } } Ponens Ponens } } end quote ) :: { a :: { { make-root ( t , quote { h unquote imply { x unquote } } Init ;; { { { { MP' Init Deref Ponens at { h unquote } } at { x unquote } } at { y unquote } } Ponens Ponens } end quote ) :: { { make-root ( t , quote { h unquote imply { x unquote } } Init end quote ) :: { { make-root ( t , quote h unquote imply { x unquote } end quote ) :: { h :: { x :: true } } } :: true } } :: { { make-root ( t , quote { { { MP' Init Deref Ponens at { h unquote } } at { x unquote } } at { y unquote } } Ponens Ponens end quote ) :: { { make-root ( t , quote { { { MP' Init Deref Ponens at { h unquote } } at { x unquote } } at { y unquote } } Ponens end quote ) :: { { make-root ( t , quote { { MP' Init Deref Ponens at { h unquote } } at { x unquote } } at { y unquote } end quote ) :: { { make-root ( t , quote { MP' Init Deref Ponens at { h unquote } } at { x unquote } end quote ) :: { { make-root ( t , quote MP' Init Deref Ponens at { h unquote } end quote ) :: { { make-root ( t , quote MP' Init Deref Ponens end quote ) :: { { make-root ( t , quote MP' Init Deref end quote ) :: { { make-root ( t , quote MP' Init end quote ) :: { { make-root ( t , quote MP' end quote ) :: true } :: true } } :: true } } :: true } } :: { h :: true } } } :: { x :: true } } } :: { y :: true } } } :: true } } :: true } } :: true } } } :: true } } BE { asterisk IN LET asterisk BE { a IN LET make-root ( t , quote h unquote imply { y unquote } end quote ) :: { h :: { y :: true } } BE { asterisk IN LET asterisk BE { r IN f.unitac-adapt ( t , s [[ hook-arg -> a ]] [[ hook-res -> r ]] , c ) } } } } } } } } else if t then s else error ( a , diag ( "Cannot convert" ) disp ( r ) diag ( "to type ``" ) diag ( t ) diag ( "''" ) end diagnose ) } } } } } } } } } } } } } } } 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