src/Tools/8bit/isa-patches/HOL/HOL2.p
author wenzelm
Mon, 29 Nov 1999 15:52:49 +0100
changeset 8039 a901bafe4578
parent 1857 cb1590accf3e
permissions -rw-r--r--
Goal: tuned pris;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     1
local open Ast;
1857
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
     2
fun Gbigimpl_ast_tr (*"Gbigimpl"*) [asms, concl] =
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     3
      fold_ast_p "êë" (unfold_ast "_asms" asms, concl)
1857
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
     4
  | Gbigimpl_ast_tr (*"Gbigimpl"*) asts = raise_ast "bigimpl_ast_tr" asts;
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
     5
fun Glam_ast_tr (*"Glam"*) [idts, body] =
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
     6
      fold_ast_p "_abs" (unfold_ast "_idts" idts, body)
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
     7
  | Glam_ast_tr (*"Glam"*) asts = raise_ast "lambda_ast_tr" asts;
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
     8
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
     9
fun Gimpl_ast_tr' (*"Gbigimpl"*) asts =
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    10
  (case unfold_ast_p "êë" (Appl (Constant "êë" :: asts)) of
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    11
    (asms as _ :: _ :: _, concl)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    12
      => Appl [Constant "Gbigimpl", fold_ast "_asms" asms, concl]
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    13
  | _ => raise Match);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    14
in
1857
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
    15
    val parse_ast_translation = ("Gbigimpl", Gbigimpl_ast_tr)::
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
    16
				("Glam", Glam_ast_tr)::
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    17
				parse_ast_translation;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    18
1857
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
    19
    val print_ast_translation = ("êë", Gimpl_ast_tr')::
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
    20
				("_lambda", fn asts => 
cb1590accf3e bug fix: Glam_ast_tr
oheimb
parents: 1826
diff changeset
    21
					Appl (Constant "Glam" :: asts)) ::	
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    22
				print_ast_translation;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    23
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    24
end;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    25
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    26
local open Syntax in
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    27
val thy = thy 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    28
|> add_trrules_i 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    29
[mk_appl (Constant "Ú" ) [Variable "P", Variable "Q"] <-> 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    30
 mk_appl (Constant "==") [Variable "P", Variable "Q"],
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    31
 mk_appl (Constant "êë" ) [Variable "P", Variable "Q"] <-> 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    32
 mk_appl (Constant "==>") [Variable "P", Variable "Q"],
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    33
 (Constant "Ä" ) <->  (Constant "!!")]
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    34
end;