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

### The "pyk" aspect

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

### The "value" aspect

define value of 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-arg ]] BE { asterisk IN LET asterisk BE { a IN 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 d = "var" then s else if d = t then s else if d = "infer" then unitac-adapt ( t , s [[ hook-arg -> make-root ( a , quote a unquote Ponens end quote ) :: { a :: true } ]] [[ hook-res -> r second ]] , c ) else if d = "endorse" then unitac-adapt ( t , s [[ hook-arg -> make-root ( a , quote a unquote Verify end quote ) :: { a :: true } ]] [[ hook-res -> r second ]] , c ) else if d = "all" then LET s [[ hook-idx ]] BE { asterisk IN LET asterisk BE { i IN LET s [[ hook-idx -> i + 1 ]] BE { asterisk IN LET asterisk BE { s IN LET univar ( a , r first , i ) BE { asterisk IN LET asterisk BE { v IN LET metasubst ( r second , { r first :: v } :: <<>> , c ) BE { asterisk IN LET asterisk BE { r prime IN unitac-adapt ( t , s [[ hook-arg -> make-root ( a , quote a unquote at { v unquote } end quote ) :: { a :: { v :: true } } ]] [[ hook-res -> r prime ]] , 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:11:58.175987 = MJD-54293.TAI:20:12:31.175987 = LGT-4690987951175987e-6