let computer = function

    | Wp_parameters.M_Hoare  ->
        NonAssigns (WP_Hoare.create ())

    | Wp_parameters.M_CaveatU ->
        NonAssigns (WP_UnsafeCaveat.create ())

    | Wp_parameters.M_CaveatG ->
        NonAssigns (WP_Caveat.create ())

    | Wp_parameters.M_Store ->
        dispatch [
          { (wp_model "Store"with
              wp_logicvar = Yes ; 
              wp_method = WP_Storefun.assigns_method ;
              wp_computer = WP_Storefun.create ;
              wp_altmodel = Some WP_Store.create ;
          } ;
          { (wp_model "Store"with
              wp_logicvar = No ;
              wp_method = WP_Store.assigns_method ;
              wp_computer = WP_Store.create ;
          }
        ]
          
    | Wp_parameters.M_Runtime ->
        dispatch [
          { (wp_model "Runtime"with
              wp_logicvar = Yes ;
              wp_method = WP_Runtimefun.assigns_method ;
              wp_computer = WP_Runtimefun.create ;
              wp_altmodel = Some WP_Runtime.create ;
          } ;
          { (wp_model "Runtime"with
              wp_logicvar = No ;
              wp_method = WP_Runtime.assigns_method ;
              wp_computer = WP_Runtime.create ;
          }
        ]