@@ -36,18 +36,22 @@ endmodule [ ]
3636
3737module IMP-SIMPLE
3838
39- axiom { } \rewrites { KCell { } } ( \and { KCell { } } ( \top { KCell { } } ( ) , kCell { } ( kseq { } ( inj { BExp { } , KItem { } } ( And { } ( False { } ( ) , VarB : BExp { } ) ) , DOTVAR : K { } ) ) ) , \and { KCell { } } ( \top { KCell { } } ( ) , kCell { } ( kseq { } ( inj { BExp { } , KItem { } } ( False { } ( ) ) , DOTVAR : K { } ) ) ) ) [ ]
40- axiom { } \rewrites { KCell { } } ( \and { KCell { } } ( \top { KCell { } } ( ) , kCell { } ( kseq { } ( inj { BExp { } , KItem { } } ( And { } ( True { } ( ) , VarB : BExp { } ) ) , DOTVAR : K { } ) ) ) , \and { KCell { } } ( \top { KCell { } } ( ) , kCell { } ( kseq { } ( inj { BExp { } , KItem { } } ( VarB : BExp { } ) , DOTVAR : K { } ) ) ) ) [ ]
39+ axiom { } \rewrites { KCell { } } ( \and { KCell { } } ( \top { KCell { } } ( ) , kCell { } ( kseq { } ( inj { BExp { } , KItem { } } ( And { } ( inj { BExpResult { } , BExp { } } ( False { } ( ) ) , VarB : BExp { } ) ) , DOTVAR : K { } ) ) ) , \and { KCell { } } ( \top { KCell { } } ( ) , kCell { } ( kseq { } ( inj { BExpResult { } , KItem { } } ( False { } ( ) ) , DOTVAR : K { } ) ) ) ) [ ]
40+ axiom { } \rewrites { KCell { } } ( \and { KCell { } } ( \top { KCell { } } ( ) , kCell { } ( kseq { } ( inj { BExp { } , KItem { } } ( And { } ( inj { BExpResult { } , BExp { } } ( True { } ( ) ) , VarB : BExp { } ) ) , DOTVAR : K { } ) ) ) , \and { KCell { } } ( \top { KCell { } } ( ) , kCell { } ( kseq { } ( inj { BExp { } , KItem { } } ( VarB : BExp { } ) , DOTVAR : K { } ) ) ) ) [ ]
4141 import D-K [ ]
4242 sort BExp { } [ ]
43+ sort BExpResult { } [ ]
4344 sort KCell { } [ ]
44- symbol And { } ( BExp { } , BExp { } ) : BExp { } [ functional { } (), constructor { } (), injective { } () ]
45- symbol False { } ( ) : BExp { } [ functional { } (), constructor { } (), injective { } () ]
46- symbol True { } ( ) : BExp { } [ functional { } (), constructor { } (), injective { } () ]
47- symbol kCell { } ( K { } ) : KCell { } [ functional { } (), constructor { } (), injective { } () ]
48- syntax BExp ::= "False" [ functional , constructor , injective , klabel ( False ) ]
49- syntax BExp ::= "True" [ functional , constructor , injective , klabel ( True ) ]
45+ symbol And { } ( BExp { } , BExp { } ) : BExp { } [ functional { } ( ) , constructor { } ( ) , injective { } ( ) ]
46+ symbol False { } ( ) : BExpResult { } [ functional { } ( ) , constructor { } ( ) , injective { } ( ) ]
47+ symbol HOLE { } ( ) : BExpResult { } [ functional { } ( ) , constructor { } ( ) , injective { } ( ) ]
48+ symbol True { } ( ) : BExpResult { } [ functional { } ( ) , constructor { } ( ) , injective { } ( ) ]
49+ symbol kCell { } ( K { } ) : KCell { } [ functional { } ( ) , constructor { } ( ) , injective { } ( ) ]
5050 syntax BExp ::= BExp "&&" BExp [ functional , constructor , injective , klabel ( And ) ]
51+ syntax BExp ::= BExpResult [ functional , constructor , injective , klabel ( inj ) ]
52+ syntax BExpResult ::= "#hole" [ functional , constructor , injective , klabel ( HOLE ) ]
53+ syntax BExpResult ::= "False" [ functional , constructor , injective , klabel ( False ) ]
54+ syntax BExpResult ::= "True" [ functional , constructor , injective , klabel ( True ) ]
5155 syntax KCell ::= "kCell" "(" K ")" [ functional , constructor , injective , klabel ( kCell ) ]
5256
5357endmodule [ ]
0 commit comments