GeometricTheoremProver
Documentation for GeometricTheoremProver.
GeometricTheoremProver.prove — Methodprove(hp::Hypothesis, th::Thesis[, method=RittWuMethod])Proves a thereom with given hypothesis hp and thesis th.
Input
hp::Hypothesis– hypothesis of the theoremth::Thesis– thesis of the theoremmethod<:AbstractGeometricProver– method to prove the theorem, defaultRittWuMethod.
Output
A proof of the the theorem. The type of the output depends on the chosen method
Algorithms
Currently the following provers are supported
- RittWuMethod
Examples
julia> hp = @hp D := Parallelogram(A, B, C, D)
POINTS:
------------
A : free
B : free
C : free
D : dependent by (1)
HYPOTHESIS:
------------
(1) ABCD parallelogram
julia> th = @th Segment(A, B) ≅ Segment(C, D)
THESIS:
------------
AB ≅ CD
julia> prove(hp, th)
Assigned coordinates:
---------------------
A = (0, 0)
B = (u₁, 0)
C = (u₂, u₃)
D = (x₁, x₂)
Goal 1: success
Nondegeneracy conditions:
-------------------------GeometricTheoremProver.@hp — Macro@hp(block)macro to construct the hypothesis of the theorem.
Input
block – An expression containing the hypothesis of the theorem, can be a single statement or a sequence of statements between begin...end.
Output
An object of type Hypothesis.
Examples
julia> @hp O := Circle(A, B, C)
POINTS:
------------
A : free
B : free
C : free
O : dependent by (1)
HYPOTHESIS:
------------
(1) OA ≅ OB ≅ OCGeometricTheoremProver.@th — Macro@th(block)macro to construct the thesis of the theorem.
Input
block – An expression containing the thesis of the theorem, can be a single statement or a sequence of statements between begin...end.
Output
An object of type Thesis.
Examples
julia> @th Segment(A, O) ≅ Segment(O, C)
THESIS:
------------
AO ≅ OC