coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Agnishom Chattopadhyay <agnishom AT cmi.ac.in>
- To: coq-club AT inria.fr
- Subject: [Coq-Club] Is non-strict positivity ever okay?
- Date: Tue, 14 Apr 2020 17:30:39 -0500
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=agnishom AT cmi.ac.in; spf=Pass smtp.mailfrom=agnishom AT cmi.ac.in; spf=None smtp.helo=postmaster AT mail.cmi.ac.in
- Ironport-phdr: 9a23:7PnRZx2hHS8Pb6GAsmDT+DRfVm0co7zxezQtwd8ZsesQLvad9pjvdHbS+e9qxAeQG96Eu7QZ06L/iOPJZy8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tLw6annrn5jkLXx77KABdJ+LvG4eUgd7k+fq1/sj6bANJnzq6ZPtZLByqsQLJv8UWkIJzYvI4xR3IuXtPfsxdwGIuLFnVnhCqtZT4x4Jq7ykF46FpzMVHS6ivJ/1kH4wdNywvNiUO3OOurQPKFFLd7X4dFGwd1BtOUVCcsUPKG6zpuy6/jdJTnSmXOcqvE+IxUDWmqaxuSVnhg2EGMWxhqTCFuolLlKte5SmZiVl6yo/QbpuSMaMnLKjYfJUTTixAWJQIWg==
Sorry for the click-baity title.
I have a situation where I want to define the semantics of some formulae like textbooks usually do:
Inductive Formula {A: Type} : Type :=
| FAtomic: (A -> bool) -> Formula
| FNeg: Formula -> Formula
.
Inductive satisfies {A : Type} : list A -> Formula -> Prop :=
| sat_atomic : forall (f : A -> bool) x xs, f x = true
-> satisfies (xs ++ [x]) (FAtomic f)
| sat_neg : forall xs f, ((satisfies xs f) -> False)
-> satisfies xs (FNeg f)
.
| FAtomic: (A -> bool) -> Formula
| FNeg: Formula -> Formula
.
Inductive satisfies {A : Type} : list A -> Formula -> Prop :=
| sat_atomic : forall (f : A -> bool) x xs, f x = true
-> satisfies (xs ++ [x]) (FAtomic f)
| sat_neg : forall xs f, ((satisfies xs f) -> False)
-> satisfies xs (FNeg f)
.
The last clause in the inductive predicate does not go through since it puts `satisfies` in a negative position.
I'd however think that this is not so bad because: (1) This is a standard way to define the semantics of negation and also (2) the second argument of satisfies is structurally bigger in the result.
Is there any chance I can convince Coq of (2) or some other reason that would make it work?
I have tried interchanging the order of the arguments of satisfies but that did not help.
--Agnishom
- [Coq-Club] Is non-strict positivity ever okay?, Agnishom Chattopadhyay, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Dominique Larchey-Wendling, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Agnishom Chattopadhyay, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Dominique Larchey-Wendling, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Adam Chlipala, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Agnishom Chattopadhyay, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Jason -Zhong Sheng- Hu, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Jason Gross, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Dominique Larchey-Wendling, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Thorsten Altenkirch, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Agnishom Chattopadhyay, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Adam Chlipala, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Thorsten Altenkirch, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Dominique Larchey-Wendling, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Agnishom Chattopadhyay, 04/15/2020
- Re: [Coq-Club] Is non-strict positivity ever okay?, Dominique Larchey-Wendling, 04/15/2020
Archive powered by MHonArc 2.6.18.