Skip to content

Commit

Permalink
sketch probDr model
Browse files Browse the repository at this point in the history
  • Loading branch information
affeldt-aist authored and t6s committed Jun 9, 2021
1 parent 43bbaee commit 9acabdb
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions proba_monad_model.v
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,33 @@ Definition prob_class : MonadProb.class_of (fun A : Type => {dist (choice_of_Typ
Definition prob : probMonad := MonadProb.Pack prob_class.

End MonadProbModel.

Module MonadProbDrModel.

Local Obligation Tactic := idtac.

Require Import Reals.
From mathcomp Require Import finmap.
From infotheo Require Import Rbigop.
Local Open Scope R_scope.

Local Open Scope proba_scope.

Definition probDr_mixin : MonadProbDr.mixin_of MonadProbModel.prob.
refine (MonadProbDr.Mixin _) => p A B m k1 k2.
rewrite 3!(@MonadProbModel.BindE (choice_of_Type A) (choice_of_Type B)).
apply/FSDist_ext => b /=.
rewrite FSDistBind.dE /=.
case: ifPn.
move=> /bigfcupP[/= dB].
rewrite andbT => /imfsetP[a /= /imfsetP[/= a' a'm aa']]; move: a'm; rewrite -{}aa' {a'} => ma ->{dB} bk1k2.
rewrite /Choice /= ConvFSDist.dE /= !FSDistBind.dE /=.
case: ifPn => bk1.
case: ifPn => bk2.
admit.
admit.
admit.
move=> bk1k2.
Abort.

End MonadProbDrModel.

0 comments on commit 9acabdb

Please sign in to comment.