@prefix : <foo://bla#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.

:3.1 rdfs:subClassOf :GT2.   # Bit 4: 8-15
[owl:intersectionOf (:3.0 :2.1)]  rdfs:subClassOf :GT2.   # 4-7
[owl:intersectionOf (:3.0 :2.0 :1.1 :0.1)]  rdfs:subClassOf :GT2.  # 3

:3.1 rdfs:subClassOf :GT5.   # Bit 4: 8-15
[owl:intersectionOf (:3.0 :2.1 :1.1)]  rdfs:subClassOf :GT5.   # 4-7

[owl:intersectionOf (:3.0 :2.0 :1.0 :0.1)]  rdfs:subClassOf :EQ1.  # 1
[owl:intersectionOf (:3.0 :2.0 :1.1 :0.0)]  rdfs:subClassOf :EQ2.  # 2
[owl:intersectionOf (:3.0 :2.1 :1.0 :0.1)]  rdfs:subClassOf :EQ5.  # 5

:one a :0.1, :1.0, :2.0, :3.0.
:two a :0.0, :1.1, :2.0, :3.0.
:five a :0.1, :1.0, :2.1, :3.0.
:nine a :0.1, :1.0, :2.0, :3.1.

:GT2 owl:disjointWith :EQ2.
:GT5 owl:disjointWith :EQ5.

###

:GT2 owl:equivalentClass [a owl:Restriction;
     owl:onProperty :greater; owl:someValuesFrom :EQ2].
:GT2 owl:equivalentClass [a owl:Restriction;
     owl:onProperty :greater; owl:someValuesFrom :GT2].

:GT5 owl:equivalentClass [a owl:Restriction;
     owl:onProperty :greater; owl:someValuesFrom :EQ5].
:GT5 owl:equivalentClass [a owl:Restriction;
     owl:onProperty :greater; owl:someValuesFrom :GT5].
                          
:hasChild a owl:ObjectProperty.
:age a owl:ObjectProperty; owl:inverseOf :ageOf.
# :age rdfs:range :Number.  # not necessary

# cats: 
:nero :age :nine; :hasChild :mira.
:mira :age :two.

[] owl:propertyChain (:ageOf :hasChild :age);
   rdfs:subPropertyOf :greater.

## so far yields   :nine greater :two  

### try to break

#:mira :hasChild :panda.
#:panda :age :five.

## so far yields   :two greater :five  
## -> inconsistent