Question: Coq Module Combined. Inductive tm : Type : = | C : nat - > tm | P : tm - > tm - >
Coq Module Combined.
Inductive tm : Type :
C : nat tm
P : tm tm tm
tru : tm
fls : tm
test : tm tm tm tm
Inductive value : tm Prop :
vconst : forall n value C n
vtru : value tru
vfls : value fls
Reserved Notation t tat level
Inductive step : tm tm Prop :
STPlusConstConst : forall v v
P C vC v C v v
STPlus : forall t t t
t t
P t t P t t
STPlus : forall v t t
value v
t t
P v t P v t
STIfTrue : forall t t
test tru t t t
STIfFalse : forall t t
test fls t t t
STIf : forall t t t t
t t
test t t t test t t t
where t t :step t t
Earlier, we separately proved for both plus and ifexpressions...
that the step relation was deterministic, and
a strong progress lemma, stating that every term is either a
value or can take a step.
Formally prove or disprove these two properties for the combined
language.
Exercise: stars, standard combinedstepdeterministic
Theorem combinedstepdeterministic: deterministic step ~ deterministic step
Proof.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
