Skip to content
Snippets Groups Projects
MuchBetterCircleScroll.mmt 2.86 KiB
Newer Older
  • Learn to ignore specific revisions
  • Paul-Walcher's avatar
    Paul-Walcher committed
    namespace http://mathhub.info/FrameIT/frameworld ❚
    fixmeta ?FrameworldMeta ❚
    
    /T This scrolls infers a 2D circle from three dedicated 3D points (the circle's supposed center,
       one of the supposed circle itself, one in the plane the circle should lie in).
    
    theory MuchBetterCircleScroll =
        meta ?MetaAnnotations?problemTheory ?MuchBetterCircleScroll/Problem ❙
        meta ?MetaAnnotations?solutionTheory ?MuchBetterCircleScroll/Solution ❙
    
        // the three special points M, A and  B ❙
        theory Problem =
            M : point ❘ meta ?MetaAnnotations?label "M"
                      ❘ meta ?MetaAnnotations?description "The circle's center" ❙
            A : point ❘ meta ?MetaAnnotations?label "A"
                      ❘ meta ?MetaAnnotations?description "A point on the circle" ❙
            B : point ❘ meta ?MetaAnnotations?label "B"
                      ❘ meta ?MetaAnnotations?description "A point within the plane the circle should lie in." ❙
            radiusC: Σ x:ℝ . ⊦ (d- M A ≐ x) ∨ (d- A M)
                   ❘ meta ?MetaAnnotations?label "r"
                   ❘ meta ?MetaAnnotations?description s"radius of the circle ${lverb cir}"
    
    
    
        theory Solution =
            include ?MuchBetterCircleScroll/Problem ❙
    
            deduceC: circle
                  ❘ = ( pointsToC M A B )
                  ❘ meta ?MetaAnnotations?label s"○${lverb M}"
                  ❘ meta ?MetaAnnotations?description "Circle"
    
    
            deduceR:  Σ x:ℝ . ⊦ ( circleRadius deduceC) ≐ x
                  ❘ =  ⟨ d- M A , sketch "deduce Radius"⟩
                  ❘ meta ?MetaAnnotations?label s"r${lverb deduceC}"
                  ❘ meta ?MetaAnnotations?description s"radius of ${lverb deduceC} (radius fact)"  b
    
    
            deduceR2:  Σ x:ℝ . ⊦ ( d- A M ) ≐ x 
                    ❘ =  ⟨ d- A M , sketch "deduce Radius2"⟩
                    ❘ meta ?MetaAnnotations?label s"${lverb A M}"
                    ❘ meta ?MetaAnnotations?description s"radius of ${lverb deduceC} (distance fact)"
    
    
            midOnCircle: ⊦ M VonC deduceC
                       ❘ = midOnC deduceC M
                       ❘ meta ?MetaAnnotations?label s"${lverb M}∈${lverb deduceC}"
                       ❘ meta ?MetaAnnotations?description s"proof of M being on the circle ${lverb deduceC}"
    
    
            edgeOnCircle: ⊦ A VonC deduceC
                        ❘ meta ?MetaAnnotations?label s"${lverb A}∈${lverb deduceC}"
                        ❘ meta ?MetaAnnotations?description s"proof of A being on the circle ${lverb deduceC}"
    
    
            // the description verbalizes CircleCircumference, hence must come after its declaration ❙
            meta ?MetaAnnotations?label "CircleScroll" ❙
            meta ?MetaAnnotations?description s"Calculating a circle defined by the middle ${lverb M}, an edge point ${lverb A} and a point on the circle plane ${lverb B}. " ❙