5.(19.24-27.1).1-4
28 lines
Require Import String.
Require Import String.
Require Import ZArith.
Require Import ZArith.
Require Import List.
Require Import List.
Import ListNotations.
Import ListNotations.
Definition Identifier := string.
Definition Identifier := string.
Definition id_eq_dec := string_dec.
Definition id_eq_dec := string_dec.
Inductive Term : Set :=
Inductive Term : Set :=
| Var : Identifier -> Term
| Var : Identifier -> Term
| Bool : bool -> Term
| Bool : bool -> Term
| Eq : Term -> Term -> Term
| Eq : Term -> Term -> Term
| And : Term -> Term -> Term
| And : Term -> Term -> Term
| Or : Term -> Term -> Term
| Or : Term -> Term -> Term
| Not : Term -> Term -> Term
| Not : Term -> Term
| Implies : Term -> Term -> Term
| If : Term -> Term -> Term -> Term
| If : Term -> Term -> Term -> Term
| Int : Z -> Term
| Int : Z -> Term
| Plus : Term -> Term -> Term
| Plus : Term -> Term -> Term
| Times : Term -> Term -> Term
| Times : Term -> Term -> Term
| Minus : Term -> Term -> Term
| Minus : Term -> Term -> Term
| Bools : Term
| Ints : Term
| In : Term -> Term -> Term
| Choose : Identifier -> Term -> Term.
| Choose : Identifier -> Term -> Term.
Definition extendEnv {Value} (env : Identifier -> Value)
Definition extendEnv {Value} (env : Identifier -> Value)
(var : Identifier) (newValue : Value) : Identifier -> Value :=
(var : Identifier) (newValue : Value) : Identifier -> Value :=
fun id => if id_eq_dec id var then newValue else env id.
fun id => if id_eq_dec id var then newValue else env id.
(* Auto-generated comment: Succeeded. *)
(* Auto-generated comment: Succeeded. *)
(* Auto-generated comment: At 2019-08-12 19:17:21.400000.*)