Skip to Content.
Sympa Menu

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

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

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


Chronological Thread 
  • From: Thorsten Altenkirch <Thorsten.Altenkirch AT nottingham.ac.uk>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Is non-strict positivity ever okay?
  • Date: Wed, 15 Apr 2020 09:58:29 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=exmail.nottingham.ac.uk; dmarc=pass action=none header.from=exmail.nottingham.ac.uk; dkim=pass header.d=exmail.nottingham.ac.uk; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y+QuRC7mibztWfIgu/i0HEwFQyLhtxcsLuaL5GN+Dqs=; b=d1yMmXvAYE8ms49oedpo5/2ZKVv11lMImy7yv32R5j/jlOE1XTWiMA3LWJK1pRMMIox69N8pvfS7pzsMr/7brdnXnBePYOlL1uNwVuisWlhvyAV+dKJbTVeo6v1qKLZRvvxxHKAEqCLYuMOxtooucgachXmM8t4vIYsTD1ihaA5QaN5/gciMoWApiEujRWSr+NVhNotrDeL2SjWXmTa6BxQpBOMCO29B0rUAsmlFMFrCpKsJys/YSxOrjnVdgyiqxFBiw0OFsNS2Hsf+3fpDIdUTJC/nusxsNtdu0yJugvq+lwIhT4NgdXEHcAV/e8gTwDP64BN7zUXO8wH+ukk3VA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VfHJVnoVWMwt4njpouRcqQmbRV1A0baKnvcqUl2Fr1RYklVNXzEM8+T0VXIgNEOrNB7fTk4pCQGuXMvWSc/CGeZN64tYuxkUBNdHX8e9UL5QpuEqgZzzdwCm4l2W3pLHeuBT/8k5EXKzQp06LwCYEPM7uItiwphLgCk8yUQSXcCZ5XmopaCYl4OKH33FdRaPcu59Ds3IJUTbtqfjBj7jXOZfiqF/f38ajbbzUxEglnablk/V5qGLVZs/9d290kgjTcf2eCbEv5bil8HmBprxbJkgSnLa+rnqyMSBSsHP7dmXElbnnC0j6t1aw0D9BjJaYc4DHftB7s/Fde0lECKuHw==
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=Thorsten.Altenkirch AT nottingham.ac.uk; spf=Pass smtp.mailfrom=Thorsten.Altenkirch AT nottingham.ac.uk; spf=None smtp.helo=postmaster AT uidappmx01.nottingham.ac.uk
  • Ironport-phdr: 9a23:OD+guxxxesEV84XXCy+O+j09IxM/srCxBDY+r6Qd0eoXIJqq85mqBkHD//Il1AaPBtqLra8cw8Pt8IneGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2NBXupSj45jkLXx77KABdJ+LvG4eUgd79n7S5/ISWaAFVjhK8Z6lzJVO4t1OCmNMRhN5eKqEr0QfEpDNhf/hbw2BpP1mT10LA5sCq54Ju9WJ5v+4s8c1BS676V6I/UaBZCjsmOmVz7catqBqVHljH3WcVTmhDykkAOAPC9hyvBs6s4Bu/jfJ03WyhBeOzTb0wXm7zvbpqRBbwkCIXb2d/9mbLls12g6JSpVSorFpiwNyMOd3HBL9FZqrYOOgiay9ZRM8IB35HBZ+gbo0AD+MEe+9T6ZT+9QNX/EmOQDK0Deaq8Qdmw3r/3Kk0yeMkSFGU2gs8A9MIv3TdqZP8P+EPUrLswQ==

Sorry but this is a weird discussion. Semantics is defined recursively not inductively. What you try to do doesn’t make any sense. Sure you can interpret into Prop or Bool. So why don’t you recursively define Formula -> Prop, I just did this recently in my course (even though in agda).

 

Thorsten

 

From: <coq-club-request AT inria.fr> on behalf of Agnishom Chattopadhyay <agnishom AT cmi.ac.in>
Reply to: "coq-club AT inria.fr" <coq-club AT inria.fr>
Date: Wednesday, 15 April 2020 at 00:06
To: "coq-club AT inria.fr" <coq-club AT inria.fr>
Subject: Re: [Coq-Club] Is non-strict positivity ever okay?

 

Not really. I am trying to define a relation between my models and my formulae. This is a semantic notion and in some cases may even be uncomputable. So, I do not really want a Formula -> Bool, but rather some kind of Prop

 

On Tue, Apr 14, 2020 at 5:56 PM Dominique Larchey-Wendling <dominique.larchey-wendling AT loria.fr> wrote:

Usually one uses a Fixpoint instead of an inductive definition for formula satisfaction.

 

D.

 


De: "Agnishom Chattopadhyay" <agnishom AT cmi.ac.in>
À: "coq-club" <coq-club AT inria.fr>
Envoyé: Mercredi 15 Avril 2020 00:30:39
Objet: [Coq-Club] Is non-strict positivity ever okay?

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

 


This message and any attachment are intended solely for the addressee
and may contain confidential information. If you have received this
message in error, please contact the sender and delete the email and
attachment. 

Any views or opinions expressed by the author of this email do not
necessarily reflect the views of the University of Nottingham. Email
communications with the University of Nottingham may be monitored 
where permitted by law.






Archive powered by MHonArc 2.6.18.

Top of Page