-
Notifications
You must be signed in to change notification settings - Fork 0
/
Oml2.lean
48 lines (34 loc) · 1.23 KB
/
Oml2.lean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
namespace Oml2
structure IdentifiedElement where
structure Ontology where
getPrefix: String
getNamespace: String
structure Import where
«namespace» : String
structure VocabularyImport extends Import where
structure VocabularyBox extends Ontology where
structure VocabularyStatement where
structure Axiom where
structure SpecializationAxiom extends Axiom where
specializedTerm: SpecializableTerm
structure Vocabulary extends VocabularyBox where
ownedImports: List VocabularyImport
ownedStatements: List VocabularyStatement
structure Member extends IdentifiedElement where
«name»: String
structure Term extends Member where
structure SpecializableTerm extends Term , VocabularyStatement where
«ownedSpecializations»: List SpecializationAxiom
deriving instance Repr for Axiom
deriving instance Repr for IdentifiedElement
deriving instance Repr for Member
deriving instance Repr for Term
deriving instance Repr for Ontology
deriving instance Repr for Import
deriving instance Repr for VocabularyImport
deriving instance Repr for VocabularyBox
deriving instance Repr for VocabularyStatement
deriving instance Repr for Vocabulary
deriving instance Repr for SpecializableTerm
deriving instance Repr for SpecializationAxiom
end Oml2