summaryrefslogtreecommitdiff
path: root/Nominal/Category.lean
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-10-23 23:41:16 +0200
committerHannes Schulze <haschu0103@outlook.de>2025-10-23 23:57:59 +0200
commitf8b2f5190e33f3d1694442a6be32cba97fcef004 (patch)
tree1460c697533b31b402b9675eaea7827b260e1e08 /Nominal/Category.lean
parent4cb79d58996f2601f886a7185e89fa6dd71579e1 (diff)
basic structure for name abstraction
Diffstat (limited to 'Nominal/Category.lean')
-rw-r--r--Nominal/Category.lean5
1 files changed, 4 insertions, 1 deletions
diff --git a/Nominal/Category.lean b/Nominal/Category.lean
index 9ee4fe3..29a0b73 100644
--- a/Nominal/Category.lean
+++ b/Nominal/Category.lean
@@ -29,6 +29,9 @@ structure Nom where
attribute [instance] Nom.nom
+/-- Construct a nominal set object from a nominal set. -/
+def Nom.of (X : Type) [NominalSet 𝔸 X] : Nom 𝔸 := ⟨X⟩
+
/-- Objects in Nom can be coerced to the underlying nominal set type. -/
instance : CoeSort (Nom 𝔸) Type := ⟨Nom.carrier⟩
@@ -63,6 +66,6 @@ instance : ConcreteCategory (Nom 𝔸) (· →ₑ[𝔸] ·) where
instance : HasForget₂ (Nom 𝔸) (Action Type (FPerm 𝔸)) where
forgetâ‚‚ :=
{ obj X := Action.ofMulAction (FPerm 𝔸) X.carrier
- map {X Y} f := ⟨f.toFun, by intro π; ext x; simp; apply f.equivariant⟩ }
+ map f := ⟨f.toFun, by intro π; ext x; simp; apply f.equivariant⟩ }
end Forget