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

### The "pyk" aspect

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

### The "value" aspect

define value of unitac-rule5 ( r , T , a , s ) as norm { r is val : { T is val : { a is val : { s is val : if a atom then LET unitac-stack ( r , s , make-root ( r , quote T unquote Init end quote ) :: { T :: true } ) BE { asterisk IN LET asterisk BE { p IN { make-root ( r , quote T unquote infer { p unquote } end quote ) :: { T :: { p :: true } } } } } else LET a 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 BE { e IN LET asterisk prime head BE { asterisk IN LET asterisk prime tail BE { asterisk prime IN LET asterisk BE { a IN if e = "head" then make-root ( r , quote unitac-rule5 ( r , T first , a , T second :: s ) unquote Uncurry end quote ) :: { unitac-rule5 ( r , T first , a , T second :: s ) :: true } else { make-root ( r , quote { T first unquote infer { unitac-rule5 ( r , T second , a , s ) unquote } } Uncurry end quote ) :: { { make-root ( r , quote T first unquote infer { unitac-rule5 ( r , T second , a , s ) unquote } end quote ) :: { T first :: { unitac-rule5 ( r , T second , a , s ) :: true } } } :: true } } } } } } } } } } } } } } 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