blob: 8e52773b51dc7a0311f82dbec9482385988f59df (
plain)
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
49
50
51
52
53
|
# A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module CTH
# $Id: omdoccth.rnc 8979 2011-11-29 04:56:59Z kohlhase $
# $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoccth.rnc $
# See the documentation and examples at http://www.omdoc.org
# Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL)
default namespace omdoc = "http://omdoc.org/ns"
constitutive.class &= inclusion*
imports.model &= morphism? &
attribute type { "local" | "global"}? &
attribute conservativity {"conservative" | "monomorphism" | "definitional"}? &
attribute conservativity-just {omdocref}?
toplevel.attribs &= attribute generated-via {omdocref}?
constitutive.attribs &= attribute generated-via {omdocref}?
omdoc.class &= theory-inclusion* & axiom-inclusion*
theory-inclusion.justification = obligation*
axiom-inclusion.justification = obligation*
fromto.attrib = from.attrib & attribute to {omdocref}
# attributes 'to' and 'from' are URIref
morphism.attribs = id.attribs &
attribute hiding {omdocrefs}? &
attribute base {omdocrefs}?
morphism.model = def.eq?
morphism = element morphism {tref|(morphism.attribs & morphism.model)}
# base points to some other morphism it extends
inclusion.attribs = id.attribs & attribute via {omdocref}
inclusion.model = empty
inclusion = element inclusion {tref|(inclusion.attribs & inclusion.model)}
# via points to a theory-inclusion
theory-inclusion.attribs = toplevel.attribs & fromto.attrib
theory-inclusion.model = metadata? & morphism? & theory-inclusion.justification
theory-inclusion = element theory-inclusion {tref|(theory-inclusion.attribs & theory-inclusion.model)}
axiom-inclusion.attribs = toplevel.attribs & fromto.attrib
axiom-inclusion.model = metadata? & morphism? & axiom-inclusion.justification
axiom-inclusion = element theory-inclusion {tref|(axiom-inclusion.attribs & axiom-inclusion.model)}
obligation.attribs = id.attribs &
attribute induced-by {omdocref} &
attribute assertion {omdocref}
obligation.model = empty
obligation = element obligation {tref|(obligation.attribs & obligation.model)}
# attribute 'assertion' is a URIref, points to an assertion
# that is the proof obligation induced by the axiom or definition
# specified by 'induced-by'.
|