File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed
Cslib/Logics/Propositional/NaturalDeduction Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -353,7 +353,7 @@ def Theory.WeakerThan (T T' : Theory Atom) : Prop :=
353353instance instLETheory : LE (Theory Atom) where
354354 le := Theory.WeakerThan
355355
356- /-- Replace appeals to axioms in `T` by `T`-derivations. -/
356+ /-- Replace appeals to axioms in `T` by `T' `-derivations. -/
357357noncomputable def Theory.Derivation.mapLE {T T' : Theory Atom} {S : Sequent Atom} (h : T ≤ T') :
358358 T.Derivation S → T'.Derivation S
359359 | ax hB => Classical.choice (h _ hB) |>.weak_ctx (by grind)
@@ -387,4 +387,17 @@ instance instPreorderTheory : Preorder (Theory Atom) where
387387 le_refl _ _ h := ⟨ax h⟩
388388 le_trans _ _ _ h h' A hA := Theory.Derivable.map_LE h' (h A hA)
389389
390+ /-- An extension `T'` of a theory `T` generalises `Theory.WeakerThan` to allow a change of the
391+ atomic language. -/
392+ structure Extension {Atom Atom' : Type u} [DecidableEq Atom] [DecidableEq Atom'] (T : Theory Atom)
393+ (T' : Theory Atom') where
394+ f : Atom → Atom'
395+ h : T.map f ≤ T'
396+
397+ /-- An extension of theories is conservative if it doesn't add any new theorems, when restricted
398+ to the domain language `Atom`. -/
399+ def IsConservative {Atom Atom' : Type u} [DecidableEq Atom] [DecidableEq Atom'] (T : Theory Atom)
400+ (T' : Theory Atom') : Extension T T' → Prop
401+ | ⟨f, _⟩ => ∀ (A : Proposition Atom), ⊢[T'] (A.map f) → ⊢[T] A
402+
390403end PL
You can’t perform that action at this time.
0 commit comments