@prefix skolem: <https://eyereasoner.github.io/.well-known/genid/8b98b360-9a70-4845-b52c-c675af60ad01#>.
@prefix r: <http://www.w3.org/2000/10/swap/reason#>.
@prefix : <http://example.org/#>.
@prefix n3: <http://www.w3.org/2004/06/rei#>.
@prefix var: <http://www.w3.org/2000/10/swap/var#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.

skolem:proof a r:Proof, r:Conjunction;
    r:component skolem:lemma1;
    r:gives {
        :xxx a :aaa.
    }.

skolem:lemma1 a r:Inference;
    r:gives {
        :xxx a :aaa.
    };
    r:evidence (
        skolem:lemma2
    );
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]; r:boundTo [ n3:uri "http://example.org/#xxx"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_1"]; r:boundTo [ n3:uri "http://example.org/#aaa"]];
    r:rule [ a r:Fact; r:gives {@forSome var:x_0, var:x_1. {
        var:x_0 a var:x_1.
    } => {
        var:x_0 a var:x_1.
    }}].

skolem:lemma2 a r:Inference;
    r:gives {
        @forSome var:x_0. {
            :xxx a :aaa.
            :xxx :bbb var:x_0.
        } => {
            var:x_0 a :ccc.
        }.
        :xxx a :aaa.
    };
    r:evidence (
        skolem:lemma3
        skolem:lemma4
        [ a r:Fact; r:gives {@forSome var:x_0. {
            :xxx :bbb var:x_0.
        } => {
            var:x_0 a :ccc.
        }}]
    );
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]; r:boundTo [ n3:uri "http://example.org/#aaa"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_1"]; r:boundTo [ n3:uri "http://example.org/#bbb"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_2"]; r:boundTo [ n3:uri "http://example.org/#ccc"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_3"]; r:boundTo [ n3:uri "http://example.org/#xxx"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_4"]; r:boundTo [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]];
    r:rule skolem:lemma5.

skolem:lemma3 a r:Extraction;
    r:gives {
        :aaa owl:onProperty :bbb.
    };
    r:because [ a r:Parsing; r:source <https://eyereasoner.github.io/eye/reasoning/slide33/slide33.n3>].

skolem:lemma4 a r:Extraction;
    r:gives {
        :aaa owl:allValuesFrom :ccc.
    };
    r:because [ a r:Parsing; r:source <https://eyereasoner.github.io/eye/reasoning/slide33/slide33.n3>].

skolem:lemma5 a r:Extraction;
    r:gives {
        @forAll var:x_0, var:x_1, var:x_2, var:x_3, var:x_4. {
            var:x_0 owl:onProperty var:x_1.
            var:x_0 owl:allValuesFrom var:x_2.
            {
                var:x_3 var:x_1 var:x_4.
            } => {
                var:x_4 a var:x_2.
            }.
        } => {
            {
                var:x_3 a var:x_0.
                var:x_3 var:x_1 var:x_4.
            } => {
                var:x_4 a var:x_2.
            }.
            var:x_3 a var:x_0.
        }.
    };
    r:because [ a r:Parsing; r:source <https://eyereasoner.github.io/eye/reasoning/slide33/slide33.n3>].

