Documentation

FraudProof.Games.FMBC

def cond_hash_elem {α : Type} [BEq ] [LawfulBEq ] [h : Hash α ] (leaf : ) (rev : α) (res : ) :
Equations
Instances For
    def cond_hash { : Type} [BEq ] [mag : HashMagma ] (res l r : ) :
    Equations
    Instances For
      @[reducible, inline]
      abbrev dac_game {α : Type} [BEq ] [LawfulBEq ] [Hash α ] [HashMagma ] (da : CompTree Unit ) (revealer : ABTree (Option α) (Option ( × ))) (chooser : ABTree Unit ( × × Option ChooserMoves)) :
      Equations
      Instances For
        theorem winning_prop_hashes {α : Type} [DecidableEq ] [Hash α ] [HashMagma ] (da : CompTree Unit ) (revealer : ABTree (Option α) (Option ( × ))) (good_revealer : reveler_winning_condition cond_hash_elem (fun (x : Unit) => cond_hash) da revealer) (chooser : ABTree Unit ( × × Option ChooserMoves)) :
        treeCompArbGame cond_hash_elem (fun (x : Unit) => cond_hash) da revealer chooser = Player.Proposer
        theorem winning_gen_chooser {α : Type} [hash : Hash α ] [HashMagma ] [DecidableEq ] (pub_data : ABTree Unit) (revealer : ABTree (Option α) (Option ( × ))) (rev_res : ) (chooser : ABTree (Option α) (Option ( × ))) (ch_res : ) (good_chooser : winning_condition_player (fun (c : ) (a : α) (h : ) => cond_hash_elem c a h = true) (fun (x : Unit) (x : × ) (res : ) => match x with | (l, r) => cond_hash res l r = true) (fun (x : ) => id) { data := pub_data, res := ch_res } chooser) (hneq : ¬rev_res = ch_res) :
        treeCompArbGame cond_hash_elem (fun (x : Unit) => cond_hash) { data := pub_data, res := rev_res } revealer (ABTree.map (fun (x : Option α) => ()) gen_chooser_opt chooser) = Player.Chooser