@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 complex: <http://eyereasoner.github.io/eye/complex#>.
@prefix n3: <http://www.w3.org/2004/06/rei#>.
@prefix var: <http://www.w3.org/2000/10/swap/var#>.
@prefix math: <http://www.w3.org/2000/10/swap/math#>.

skolem:proof a r:Proof, r:Conjunction;
    r:component skolem:lemma1;
    r:gives {
        ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation (-1.0 1.2246467991473532e-16).
        ((-1.0 1.2246467991473532e-16) (1 0)) complex:sum (0.0 1.2246467991473532e-16).
    }.

skolem:lemma1 a r:Inference;
    r:gives {
        ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation (-1.0 1.2246467991473532e-16).
        ((-1.0 1.2246467991473532e-16) (1 0)) complex:sum (0.0 1.2246467991473532e-16).
    };
    r:evidence (
        skolem:lemma2
        skolem:lemma3
    );
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]; r:boundTo -1.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_1"]; r:boundTo 1.2246467991473532e-16];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_2"]; r:boundTo 0.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_3"]; r:boundTo 1.2246467991473532e-16];
    r:rule [ a r:Fact; r:gives {@forSome var:x_0, var:x_1, var:x_2, var:x_3. {
        ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation (var:x_0 var:x_1).
        ((var:x_0 var:x_1) (1 0)) complex:sum (var:x_2 var:x_3).
    } => {
        ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation (var:x_0 var:x_1).
        ((var:x_0 var:x_1) (1 0)) complex:sum (var:x_2 var:x_3).
    }}].

skolem:lemma2 a r:Inference;
    r:gives {
        ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation (-1.0 1.2246467991473532e-16).
    };
    r:evidence (
        skolem:lemma4
        [ a r:Fact; r:gives {(2.718281828459045 0) math:exponentiation 1}]
        [ a r:Fact; r:gives {3.141592653589793 math:negation -3.141592653589793}]
        [ a r:Fact; r:gives {(-3.141592653589793 0.0) math:product -0.0}]
        [ a r:Fact; r:gives {(2.718281828459045 -0.0) math:exponentiation 1}]
        [ a r:Fact; r:gives {(2.718281828459045 1.0) math:exponentiation 2.718281828459045}]
        [ a r:Fact; r:gives {(3.141592653589793 1.0) math:product 3.141592653589793}]
        [ a r:Fact; r:gives {(0 0.0) math:product 0.0}]
        [ a r:Fact; r:gives {(3.141592653589793 0.0) math:sum 3.141592653589793}]
        [ a r:Fact; r:gives {3.141592653589793 math:cos -1.0}]
        [ a r:Fact; r:gives {(1 1 -1.0) math:product -1.0}]
        [ a r:Fact; r:gives {3.141592653589793 math:sin 1.2246467991473532e-16}]
        [ a r:Fact; r:gives {(1 1 1.2246467991473532e-16) math:product 1.2246467991473532e-16}]
    );
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]; r:boundTo 2.718281828459045];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_1"]; r:boundTo 0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_2"]; r:boundTo 2.718281828459045];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_3"]; r:boundTo 0.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_5"]; r:boundTo 1];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_4"]; r:boundTo 0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_6"]; r:boundTo 3.141592653589793];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_7"]; r:boundTo -3.141592653589793];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_8"]; r:boundTo -0.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_9"]; r:boundTo 1];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_10"]; r:boundTo 1.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_11"]; r:boundTo 3.141592653589793];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_12"]; r:boundTo 0.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_13"]; r:boundTo 3.141592653589793];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_14"]; r:boundTo -1.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_15"]; r:boundTo -1.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_16"]; r:boundTo 1.2246467991473532e-16];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_17"]; r:boundTo 1.2246467991473532e-16];
    r:rule skolem:lemma5.

skolem:lemma3 a r:Inference;
    r:gives {
        ((-1.0 1.2246467991473532e-16) (1 0)) complex:sum (0.0 1.2246467991473532e-16).
    };
    r:evidence (
        [ a r:Fact; r:gives {(-1.0 1) math:sum 0.0}]
        [ a r:Fact; r:gives {(1.2246467991473532e-16 0) math:sum 1.2246467991473532e-16}]
    );
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_2"]; r:boundTo 0.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]; r:boundTo -1.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_1"]; r:boundTo 1];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_5"]; r:boundTo 1.2246467991473532e-16];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_3"]; r:boundTo 1.2246467991473532e-16];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_4"]; r:boundTo 0];
    r:rule skolem:lemma6.

skolem:lemma4 a r:Inference;
    r:gives {
        (2.718281828459045 0) complex:polar (2.718281828459045 0.0).
    };
    r:evidence (
        [ a r:Fact; r:gives {(2.718281828459045 2) math:exponentiation 7.3890560989306495}]
        [ a r:Fact; r:gives {(0 2) math:exponentiation 0}]
        [ a r:Fact; r:gives {(7.3890560989306495 0) math:sum 7.3890560989306495}]
        [ a r:Fact; r:gives {(7.3890560989306495 0.5) math:exponentiation 2.718281828459045}]
        [ a r:Fact; r:gives {2.718281828459045 math:absoluteValue 2.718281828459045}]
        [ a r:Fact; r:gives {(2.718281828459045 2.718281828459045) math:quotient 1.0}]
        [ a r:Fact; r:gives {1.0 math:acos 0.0}]
        skolem:lemma7
    );
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_1"]; r:boundTo 7.3890560989306495];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]; r:boundTo 2.718281828459045];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_3"]; r:boundTo 0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_2"]; r:boundTo 0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_4"]; r:boundTo 7.3890560989306495];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_5"]; r:boundTo 2.718281828459045];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_6"]; r:boundTo 2.718281828459045];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_7"]; r:boundTo 1.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_8"]; r:boundTo 0.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_9"]; r:boundTo 0.0];
    r:rule skolem:lemma8.

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_5, var:x_6, var:x_7, var:x_8, var:x_9, var:x_10, var:x_11, var:x_12, var:x_13, var:x_14, var:x_15, var:x_16, var:x_17. {
            ((var:x_0 var:x_1) (var:x_4 var:x_6)) complex:exponentiation (var:x_15 var:x_17).
        } <= {
            (var:x_0 var:x_1) complex:polar (var:x_2 var:x_3).
            (var:x_2 var:x_4) math:exponentiation var:x_5.
            var:x_6 math:negation var:x_7.
            (var:x_7 var:x_3) math:product var:x_8.
            (2.718281828459045 var:x_8) math:exponentiation var:x_9.
            (2.718281828459045 var:x_10) math:exponentiation var:x_2.
            (var:x_6 var:x_10) math:product var:x_11.
            (var:x_4 var:x_3) math:product var:x_12.
            (var:x_11 var:x_12) math:sum var:x_13.
            var:x_13 math:cos var:x_14.
            (var:x_5 var:x_9 var:x_14) math:product var:x_15.
            var:x_13 math:sin var:x_16.
            (var:x_5 var:x_9 var:x_16) math:product var:x_17.
        }.
    };
    r:because [ a r:Parsing; r:source <https://eyereasoner.github.io/eye/reasoning/eulers-identity/eulers-identity.n3>].

skolem:lemma6 a r:Extraction;
    r:gives {
        @forAll var:x_0, var:x_1, var:x_2, var:x_3, var:x_4, var:x_5. {
            ((var:x_0 var:x_3) (var:x_1 var:x_4)) complex:sum (var:x_2 var:x_5).
        } <= {
            (var:x_0 var:x_1) math:sum var:x_2.
            (var:x_3 var:x_4) math:sum var:x_5.
        }.
    };
    r:because [ a r:Parsing; r:source <https://eyereasoner.github.io/eye/reasoning/eulers-identity/eulers-identity.n3>].

skolem:lemma7 a r:Inference;
    r:gives {
        (2.718281828459045 0 0.0) complex:dial 0.0 .
    };
    r:evidence (
        [ a r:Fact; r:gives {2.718281828459045 math:notLessThan 0}]
        [ a r:Fact; r:gives {0 math:notLessThan 0}]
        [ a r:Fact; r:gives {(0 0.0) math:sum 0.0}]
    );
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]; r:boundTo 2.718281828459045];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_1"]; r:boundTo 0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_3"]; r:boundTo 0.0];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_2"]; r:boundTo 0.0];
    r:rule skolem:lemma9.

skolem:lemma8 a r:Extraction;
    r:gives {
        @forAll var:x_0, var:x_1, var:x_2, var:x_3, var:x_4, var:x_5, var:x_6, var:x_7, var:x_8, var:x_9. {
            (var:x_0 var:x_2) complex:polar (var:x_5 var:x_9).
        } <= {
            (var:x_0 2) math:exponentiation var:x_1.
            (var:x_2 2) math:exponentiation var:x_3.
            (var:x_1 var:x_3) math:sum var:x_4.
            (var:x_4 0.5) math:exponentiation var:x_5.
            var:x_0 math:absoluteValue var:x_6.
            (var:x_6 var:x_5) math:quotient var:x_7.
            var:x_7 math:acos var:x_8.
            (var:x_0 var:x_2 var:x_8) complex:dial var:x_9.
        }.
    };
    r:because [ a r:Parsing; r:source <https://eyereasoner.github.io/eye/reasoning/eulers-identity/eulers-identity.n3>].

skolem:lemma9 a r:Extraction;
    r:gives {
        @forAll var:x_0, var:x_1, var:x_2, var:x_3. {
            (var:x_0 var:x_1 var:x_2) complex:dial var:x_3.
        } <= {
            var:x_0 math:notLessThan 0 .
            var:x_1 math:notLessThan 0 .
            (0 var:x_2) math:sum var:x_3.
        }.
    };
    r:because [ a r:Parsing; r:source <https://eyereasoner.github.io/eye/reasoning/eulers-identity/eulers-identity.n3>].

