Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
InterceptTheorem.mmt 4.13 KiB
namespace http://mathhub.info/FrameIT/frameworld ❚

fixmeta ?FrameworldMeta ❚


/T
           S
          /|
         / |
        /  |
       /___|
      A    C
     /     |
    /______|
   B       D

The scroll encodes the InterceptTheorem
❚
theory InterceptTheorem =
    meta ?MetaAnnotations?problemTheory  ?InterceptTheorem/Problem ❙
    meta ?MetaAnnotations?solutionTheory ?InterceptTheorem/Solution ❙

    theory Problem =
        S: point ❘ meta ?MetaAnnotations?label "S" ❙
        A: point ❘ meta ?MetaAnnotations?label "A" ❙
        B: point ❘ meta ?MetaAnnotations?label "B" ❙
        C: point ❘ meta ?MetaAnnotations?label "C" ❙
        D: point ❘ meta ?MetaAnnotations?label "D" ❙

        H: line ❘ meta ?MetaAnnotations?label "H"❙
        G: line ❘ meta ?MetaAnnotations?label "G"❙

        L: line ❘ meta ?MetaAnnotations?label "L"❙
        M: line ❘ meta ?MetaAnnotations?label "M"❙


        // annoying on proofs which are unfortunately necessary. A possible solution is to make it into two scrolls. One scroll just to build the geometric construction. One scroll to calculate the distances❙
        A_on_H : ⊦ A on H ❘ meta ?MetaAnnotations?label s" ${lverb A}∈${lverb H}"❙
        C_on_H : ⊦ C on H ❘ meta ?MetaAnnotations?label s" ${lverb C}∈${lverb H}"❙
        B_on_G : ⊦ B on G ❘ meta ?MetaAnnotations?label s" ${lverb B}∈${lverb G}"❙
        D_on_G : ⊦ D on G ❘ meta ?MetaAnnotations?label s" ${lverb D}∈${lverb G}"❙


       // TODO more proofs that the S is also on  AB and CD ...    ❙
        S_on_L : ⊦ S on L ❘ meta ?MetaAnnotations?label s" ${lverb S}∈${lverb L}"❙
        A_on_L : ⊦ A on L ❘ meta ?MetaAnnotations?label s" ${lverb A}∈${lverb L}"❙
        B_on_L : ⊦ B on L ❘ meta ?MetaAnnotations?label s" ${lverb B}∈${lverb L}"❙

        S_on_M : ⊦ S on M ❘ meta ?MetaAnnotations?label s" ${lverb S}∈${lverb M}"❙
        C_on_M : ⊦ C on M ❘ meta ?MetaAnnotations?label s" ${lverb C}∈${lverb M}"❙
        D_on_M : ⊦ D on M ❘ meta ?MetaAnnotations?label s" ${lverb D}∈${lverb M}"❙


        distanceSA : Σ x:ℝ . ⊦ ( d- S A ) ≐ x ❘
                    meta ?MetaAnnotations?label s"${lverb S A}" ❘
                    meta ?MetaAnnotations?description s"Length of leg ${lverb S A}"
        ❙
        distanceAC : Σ x:ℝ . ⊦ ( d- A C ) ≐ x ❘
                    meta ?MetaAnnotations?label s"${lverb A C}" ❘
                    meta ?MetaAnnotations?description s"Length of leg ${lverb A C}"
        ❙
        distanceSB : Σ x:ℝ . ⊦ ( d- S B ) ≐ x ❘
                     meta ?MetaAnnotations?label s"${lverb S B}" ❘
                     meta ?MetaAnnotations?description s"Length of leg ${lverb S B}"
        ❙

        // TODO S € AB und S € CD. Dafuer muesste man dann auch noch die beiden anderen Geraden angeben. Mehr Variablen yay ❙


       AC_||_BD :  ⊦ paraL H G ❘
                    meta ?MetaAnnotations?label s"${lverb H}||${lverb G}" ❘
                    meta ?MetaAnnotations?description s"ParallelFact {lverb H} and {lverb G}"
        ❙
    ❚

    theory Solution =
       include ?InterceptTheorem/Problem ❙


        // Problem, there is no divison defined in math.mmt, so I can't divide the line to get the correct answer   ❙



        //  ⟨((πl distanceAC) ⋅ (πl distanceSB)) / (πl distanceSA) , sketch "InterceptTheorem Scroll"⟩ Divison funktioniert aber leider noch nicht :) ❙
        deduceLineBD
            : Σ x:ℝ . ⊦ ( d- B D) ≐ x  ❘
                    =  ⟨ doTheDif ((πl distanceAC) ⋅ (πl distanceSB))  (πl distanceSA) , sketch "InterceptTheorem Scroll"⟩ ❘
            meta ?MetaAnnotations?label s"PlaceHolder${lverb S A B C D}" ❘
            meta ?MetaAnnotations?description s"xThe deduced distance of BD by using BD*SA = AC*SB "
        ❙

        // the description verbalizes InterceptTheorem, hence must come after its declaration ❙
                meta ?MetaAnnotations?label s"InterceptTheorem" ❙
                meta ?MetaAnnotations?description s" The Interceptheorem is calculating the length of ${lverb G}" ❙
    ❚
❚