Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(model_theory/*): Split up big model theory files (#12918)
Splits up `model_theory/basic` into `model_theory/basic`, `model_theory/language_maps`, and `model_theory/bundled`. Splits up `model_theory/terms_and_formulas` into `model_theory/syntax`, `model_theory/semantics`, and `model_theory/satisfiability`. Adds to the module docs of these files.
- Loading branch information
1 parent
57a5fd7
commit 2c6df07
Showing
13 changed files
with
1,949 additions
and
1,765 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
/- | ||
Copyright (c) 2022 Aaron Anderson. All rights reserved. | ||
Released under Apache 2.0 license as described in the file LICENSE. | ||
Authors: Aaron Anderson | ||
-/ | ||
import model_theory.semantics | ||
import category_theory.concrete_category.bundled | ||
/-! | ||
# Bundled First-Order Structures | ||
This file bundles types together with their first-order structure. | ||
## Main Definitions | ||
* `first_order.language.equiv_setoid` is the isomorphism equivalence relation on bundled structures. | ||
## TODO | ||
* Define bundled models of a given theory. | ||
* Define category structures on bundled structures and models. | ||
-/ | ||
|
||
universes u v w | ||
|
||
variables {L : first_order.language.{u v}} | ||
|
||
@[protected] instance category_theory.bundled.Structure | ||
{L : first_order.language.{u v}} (M : category_theory.bundled.{w} L.Structure) : | ||
L.Structure M := | ||
M.str | ||
|
||
namespace first_order | ||
namespace language | ||
open_locale first_order | ||
|
||
/-- The equivalence relation on bundled `L.Structure`s indicating that they are isomorphic. -/ | ||
instance equiv_setoid : setoid (category_theory.bundled L.Structure) := | ||
{ r := λ M N, nonempty (M ≃[L] N), | ||
iseqv := ⟨λ M, ⟨equiv.refl L M⟩, λ M N, nonempty.map equiv.symm, | ||
λ M N P, nonempty.map2 (λ MN NP, NP.comp MN)⟩ } | ||
|
||
end language | ||
end first_order |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.