Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Is non-strict positivity ever okay?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Is non-strict positivity ever okay?


Chronological Thread 
  • 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)
.

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



Archive powered by MHonArc 2.6.18.

Top of Page