From d3700ebd689aeaef19d6192f958481a7aae0568c Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Tue, 23 Feb 2016 13:18:59 +0100 Subject: [PATCH] establish that language syntax has decidable equality --- heap_lang/lang.v | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/heap_lang/lang.v b/heap_lang/lang.v index be50c7ad0..48dd5cd0e 100644 --- a/heap_lang/lang.v +++ b/heap_lang/lang.v @@ -50,6 +50,17 @@ Inductive val := | InjRV (v : val) | LocV (l : loc). +Global Instance base_lit_dec_eq (l1 l2 : base_lit) : Decision (l1 = l2). +Proof. rewrite /Decision. decide equality; apply decide, _. Qed. +Global Instance un_op_dec_eq (op1 op2 : un_op) : Decision (op1 = op2). +Proof. rewrite /Decision. decide equality; apply decide, _. Qed. +Global Instance bin_op_dec_eq (op1 op2 : bin_op) : Decision (op1 = op2). +Proof. rewrite /Decision. decide equality; apply decide, _. Qed. +Global Instance expr_dec_eq (e1 e2 : expr) : Decision (e1 = e2). +Proof. rewrite /Decision. decide equality; apply decide, _. Qed. +Global Instance val_dec_eq (v1 v2 : val) : Decision (v1 = v2). +Proof. rewrite /Decision. decide equality; apply decide, _. Qed. + Delimit Scope lang_scope with L. Bind Scope lang_scope with expr val. -- GitLab