Formulas of the propositional fragment #
This file defines the formulas on which theories of presupposition projection are compared, the
propositional fragment of the language L of Schlenker's Appendix C, which is also the language of
Kalomoiros's System 1 (Definition 3.4.1). A formula is built from atoms and triggers by negation and
the binary connectives of Connective; a trigger trigger p p' presupposes p and asserts p',
and its classical meaning is the conjunction of the two (Formula.truth, C.2).
Each binary connective is interpreted classically (Connective.eval), by the truth table of any
trivalent connectives (Connective.table), and by Heim's context change potentials, with Beaver's
disjunction (Connective.ccp). The fold Formula.eval evaluates a formula into a trivalent
proposition W → SignType under given connectives, the Strong Kleene ones for
Formula.strongKleene and Peters' filtering ones for Formula.middleKleene, and Formula.ccp
evaluates it into CCP.Partial, sending an atom or a trigger to the update of its trivalent
meaning. Where the filtering evaluation is defined it is the classical meaning
(Formula.middleKleene_eq_ofProp). The context change potential admits a context iff the filtering
evaluation is defined throughout it, and it updates the context to its worlds at which the formula
is classically true (Formula.admits_ccp_iff, Formula.ccp_get).
Main definitions #
Presupposition.Formula: atoms, triggers, negation and the binary connectives.Presupposition.Formula.truth: the classical meaning at an interpretation of the atoms.Presupposition.Formula.eval: the evaluation under trivalent connectives, withPresupposition.Formula.strongKleeneandPresupposition.Formula.middleKleeneits Strong Kleene and filtering instances.Presupposition.Formula.ccp: the dynamic evaluation.Presupposition.Formula.accommodate: local accommodation, which keeps the classical meaning.
Implementation notes #
The interpretation of the atoms is a function to Set W, and a trigger's trivalent meaning is the
conditional event of its assertion on its presupposition. Schlenker's Expressivity (C.3), that every
proposition is denoted by an atom, is not built in: the theories that need it quantify over
propositions where the paper quantifies over expressions. The conditional is material, as in the
paper, and its Strong Kleene clause is by interdefinability from negation and disjunction.
References #
Connectives #
The classical truth function of a binary connective.
Equations
- Presupposition.Connective.conj.eval x✝¹ x✝ = (x✝¹ ∧ x✝)
- Presupposition.Connective.cond.eval x✝¹ x✝ = (x✝¹ → x✝)
- Presupposition.Connective.disj.eval x✝¹ x✝ = (x✝¹ ∨ x✝)
Instances For
The truth table that the trivalent connectives C give a binary connective.
Equations
Instances For
The dynamic connectives are [Hei83]'s conjunction and conditional and [Bea01]'s disjunction.
Equations
Instances For
Formulas #
The propositional fragment of L (C.1), in which a trigger trigger p p' presupposes p and
asserts p'.
- atom {Atom : Type u_3} (p : Atom) : Formula Atom
- trigger {Atom : Type u_3} (presup assert : Atom) : Formula Atom
- not {Atom : Type u_3} (F : Formula Atom) : Formula Atom
- bin {Atom : Type u_3} (c : Connective) (F G : Formula Atom) : Formula Atom
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.atom a) (Presupposition.Formula.atom b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.atom p) (Presupposition.Formula.trigger presup assert) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.atom p) F.not = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.atom p) (Presupposition.Formula.bin c F G) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.trigger presup assert) (Presupposition.Formula.atom p) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.trigger presup assert) F.not = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.trigger presup assert) (Presupposition.Formula.bin c F G) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq F.not (Presupposition.Formula.atom p) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq F.not (Presupposition.Formula.trigger presup assert) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq a.not b.not = if h : a = b then h ▸ have inst := Presupposition.instDecidableEqFormula.decEq a a; isTrue ⋯ else isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq F.not (Presupposition.Formula.bin c F_1 G) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.bin c F G) (Presupposition.Formula.atom p) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.bin c F G) (Presupposition.Formula.trigger presup assert) = isFalse ⋯
- Presupposition.instDecidableEqFormula.decEq (Presupposition.Formula.bin c F G) F_1.not = isFalse ⋯
Instances For
The classical meaning (C.2) reads a trigger as the conjunction of its two parts.
Equations
- Presupposition.Formula.truth I (Presupposition.Formula.atom p) = I p
- Presupposition.Formula.truth I (Presupposition.Formula.trigger p p') = I p ∩ I p'
- Presupposition.Formula.truth I F.not = (Presupposition.Formula.truth I F)ᶜ
- Presupposition.Formula.truth I (Presupposition.Formula.bin c F G) = {w : W | c.eval (w ∈ Presupposition.Formula.truth I F) (w ∈ Presupposition.Formula.truth I G)}
Instances For
The evaluation by the trivalent connectives C, in which an atom is classical and a trigger is
defined where its presupposition holds.
Equations
- Presupposition.Formula.eval I C (Presupposition.Formula.atom p) = fun (w : W) => SignType.ofProp (w ∈ I p)
- Presupposition.Formula.eval I C (Presupposition.Formula.trigger p p') = (I p).indicator fun (w : W) => SignType.ofProp (w ∈ I p')
- Presupposition.Formula.eval I C F.not = -Presupposition.Formula.eval I C F
- Presupposition.Formula.eval I C (Presupposition.Formula.bin c F G) = fun (w : W) => Presupposition.Connective.table C c (Presupposition.Formula.eval I C F w) (Presupposition.Formula.eval I C G w)
Instances For
The Strong Kleene evaluation.
Equations
Instances For
The evaluation by [Pet79]'s filtering connectives, the Middle Kleene tables.
Equations
Instances For
The context change potential of a formula updates an atom or a trigger by its trivalent meaning, so a trigger is defined in a context that entails its presupposition.
Equations
- Presupposition.Formula.ccp I (Presupposition.Formula.atom p) = DynamicSemantics.CCP.Partial.ofTrivalent (Presupposition.Formula.middleKleene I (Presupposition.Formula.atom p))
- Presupposition.Formula.ccp I (Presupposition.Formula.trigger p p') = DynamicSemantics.CCP.Partial.ofTrivalent (Presupposition.Formula.middleKleene I (Presupposition.Formula.trigger p p'))
- Presupposition.Formula.ccp I F.not = (Presupposition.Formula.ccp I F).neg
- Presupposition.Formula.ccp I (Presupposition.Formula.bin c F G) = c.ccp (Presupposition.Formula.ccp I F) (Presupposition.Formula.ccp I G)
Instances For
[Hei83]'s local accommodation: the presupposition of each trigger joins its assertion where the trigger is.
Equations
- (Presupposition.Formula.atom p).accommodate = Presupposition.Formula.atom p
- (Presupposition.Formula.trigger p p').accommodate = Presupposition.Formula.bin Presupposition.Connective.conj (Presupposition.Formula.atom p) (Presupposition.Formula.atom p')
- F.not.accommodate = F.accommodate.not
- (Presupposition.Formula.bin c F G).accommodate = Presupposition.Formula.bin c F.accommodate G.accommodate
Instances For
Local accommodation keeps the classical meaning.
The filtering evaluation of a binary formula is defined where the first argument's is, and the second's wherever the world is in the second argument's local context ([Kar74a]).
Where the filtering evaluation is defined, it is the classical meaning.
The filtering evaluation of a binary formula is defined where the first argument's is, and the second's wherever the world is in the second argument's local context.
Every formula contains an atom or a trigger.
A context admits a binary formula when it admits the first argument and the second argument's local context admits the second.
The context change potential of a formula admits a context iff the filtering evaluation is defined throughout the context.
The context change potential updates a context to its worlds at which the formula is classically true.