## Logiweb aspects of tactic-Ponens ( " ) in pyk

### The "pyk" aspect

Define pyk of tactic-Ponens ( asterisk ) as "tactic-Ponens ( "! )" end define

### The "value" aspect

define value of tactic-Ponens ( u ) as norm { u is val : LET u 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 { t 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 { s 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 { c IN LET asterisk prime prime prime head BE { asterisk IN LET asterisk prime prime prime tail BE { asterisk prime prime prime IN 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 { x IN LET asterisk prime prime head BE { asterisk IN LET asterisk prime prime tail BE { asterisk prime prime IN LET taceval ( x , s , c ) BE { asterisk IN LET asterisk BE { s IN LET make-root ( t , quote s [[ hook-arg ]] unquote Ponens end quote ) :: { s [[ hook-arg ]] :: true } BE { asterisk IN LET asterisk BE { a IN LET s [[ hook-res ]] BE { asterisk IN LET asterisk BE { r IN if mismatch ( quote x infer y end quote , r , c ) then error ( t , diag ( "Ponens tactic used on non-inference:" ) disp ( r ) end diagnose ) else { s [[ hook-arg -> a ]] [[ hook-res -> r second ]] } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } 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