Documentation

FraudProof.Games.ElemInTree

structure ElemInMTree (α : Type) :
Instances For
    def implicit_element_in_tree {α : Type} [m : Hash α ] [mag : HashMagma ] (computation : ElemInMTree α ) (missing_data : List ) :
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def leaf_condition {α : Type} [BEq ] [o : Hash α ] (a : α) (h : ) :
      Equations
      Instances For
        def mid_condition { : Type} [BEq ] [mag : HashMagma ] (p : PMoves ) (h : ) :
        Equations
        Instances For
          @[irreducible]
          def arbElem {α : Type} (pos : Skeleton) [BEq ] [o : Hash α ] [m : HashMagma ] (da : ElemInMTree α ) (proposer : SkeletonOption (PMoves )) (chooser : SkeletonPMoves Option ChooserSmp) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def arbElemInit {α : Type} [BEq ] [Hash α ] [HashMagma ] (da : ElemInMTree α ) (proposer : SkeletonOption (PMoves )) (chooser : SkeletonPMoves Option ChooserSmp) :
            Equations
            Instances For
              structure ElemInTreeN (n : ) (α : Type) :
              Instances For
                def SingleLastStep {α : Type} [BEq ] [h : Hash α ] (data : ElemInTreeN 0 α ) :
                Equations
                Instances For
                  def SingleMidStep { : Type} [BEq ] [m : HashMagma ] (data : × × ) :
                  Equations
                  Instances For
                    def elemInHGame {α : Type} [BEq ] [Hash α ] [HashMagma ] {n : } (da : ElemInTreeN n α ) (proposer : Sequence n (Option (PMoves ))) (chooser : Sequence n ( × × Option ChooserSmp)) :
                    Equations
                    Instances For
                      structure ElemInTreeH (n : ) ( : Type) :
                      Instances For
                        def SingleLastStepH { : Type} [BEq ] (data : ElemInTreeH 0 ) :
                        Equations
                        Instances For
                          def elem_in_tree_backward { : Type} [BEq ] [HashMagma ] {n : } (da : ElemInTreeH n ) (proposer : Sequence n (Option (PMoves ))) (chooser : Sequence n ( × × Option ChooserSmp)) :
                          Equations
                          Instances For
                            def forward_mid_step_condition { : Type} [BEq ] [m : HashMagma ] (side : SkElem) (data : × ) (res : ) :
                            Equations
                            Instances For
                              def elem_in_tree_forward { : Type} [BEq ] [HashMagma ] {n : } (da : ElemInTreeH n ) (proposer : Sequence n (Option (PMoves ))) (chooser : Sequence n ( × × Option ChooserSmp)) :
                              Equations
                              Instances For
                                def elem_in_forward {α : Type} {n : } [BEq ] [o : Hash α ] [m : HashMagma ] (path : ISkeleton n) (elem : α) (top : ) (proposer : Sequence n (Option ( × ))) (chooser : Sequence n ( × × Option ChooserSmp)) :
                                Equations
                                Instances For
                                  def elem_in_backward_rev {α : Type} {n : } [BEq ] [o : Hash α ] [m : HashMagma ] (path : ISkeleton n) (top : ) (proposer : Sequence n (Option ( × )) × Option α) (chooser : Sequence n ( × × Option ChooserSmp)) :
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    def naive_lin_forward_test { : Type} [m : HashMagma ] [BEq ] :
                                    × × Option ChooserSmp
                                    Equations
                                    Instances For
                                      def naive_lin_forward { : Type} {n : } [HashMagma ] [BEq ] :
                                      Sequence n ( × × Option ChooserSmp)
                                      Equations
                                      Instances For
                                        theorem elem_back_rev_honest_two {α : Type} {n : } [DecidableEq α] [BEq ] [LawfulBEq ] [H : Hash α ] [Mag : HashMagma ] [injH : InjectiveHash α ] [injM : InjectiveMagma ] {ph : ISkeleton n} {mk : } {e : α} (proposer : Sequence n (Option ( × )) × Option α) {data : BTree α} (HMkTree : data.hash_BTree = mk) (HElem : ABTree.iaccess data ph = some (Sum.inl e)) :
                                        def elem_in_reveler_winning_condition_backward { : Type} [BEq ] [HashMagma ] {n : } (da : ElemInTreeH n ) (proposer : Sequence n (PMoves )) :
                                        Equations
                                        Instances For
                                          def elem_in_reveler_winning_condition_forward { : Type} [BEq ] [HashMagma ] {n : } (da : ElemInTreeH n ) (proposer : Sequence n ( × )) :
                                          Equations
                                          Instances For
                                            def spine_forward { : Type} {n : } :
                                            Sequence n (PMoves )Sequence n
                                            Equations
                                            Instances For
                                              def sibling_forward { : Type} {n : } :
                                              Sequence n (PMoves )Sequence n
                                              Equations
                                              Instances For
                                                theorem winning_reveler_wins { : Type} [BEq ] [HashMagma ] {n : } (da : ElemInTreeH n ) (proposer : Sequence n (PMoves )) (winning_prop : elem_in_reveler_winning_condition_backward da proposer) (chooser : Sequence n ( × × Option ChooserSmp)) :
                                                theorem winning_reveler_wins_forward { : Type} [BEq ] [HashMagma ] {n : } (da : ElemInTreeH n ) (proposer : Sequence n (PMoves )) (winning_prop : elem_in_reveler_winning_condition_forward da proposer) (chooser : Sequence n ( × × Option ChooserSmp)) :
                                                def last_step { : Type} [BEq ] [m : HashMagma ] (side : SkElem) (res : ) (data : × ) :
                                                Equations
                                                Instances For
                                                  def knowing { : Type} [BEq ] [HashMagma ] (skl : ABTree SkElem Unit) (know : ABTree ) (i o : ) :
                                                  Equations
                                                  Instances For
                                                    def input_prop { : Type} (data : ABTree (Option ) (Option )) (i : ) :
                                                    Equations
                                                    Instances For
                                                      theorem range_chooser_wins { : Type} [BEq ] [LawfulBEq ] [HashMagma ] [hash_props : SLawFulHash ] (comp_skeleton : ABTree SkElem Unit) (input_rev input_ch output : ) (hneq : ¬input_rev = input_ch) (reveler : ABTree (Option ) (Option )) (chooser : ABTree ) (chooser_wise : knowing comp_skeleton chooser input_ch output) :
                                                      spl_game { data := comp_skeleton, res := (input_rev, output) } reveler (gen_to_fun_chooser (ABTree.map some some chooser)) = Player.Chooser