Skip to content

Commit cdde61f

Browse files
author
twwar
committed
extensions of theories
1 parent 8d7c530 commit cdde61f

File tree

1 file changed

+14
-1
lines changed
  • Cslib/Logics/Propositional/NaturalDeduction

1 file changed

+14
-1
lines changed

Cslib/Logics/Propositional/NaturalDeduction/Basic.lean

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ def Theory.WeakerThan (T T' : Theory Atom) : Prop :=
353353
instance 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. -/
357357
noncomputable 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+
390403
end PL

0 commit comments

Comments
 (0)