Minuska.model_traits
From Minuska Require Import
prelude
spec
model_functor
.
(*
Class WithBoolTrait
{symbol : Type}
{symbols : Symbols symbol}
{my_signature : Signature}
{NondetValue : Type}
(M : Model my_signature NondetValue)
:= {
inject_bool :: CarrierInjection bool M ;
}.
Class WithIntTrait
{symbol : Type}
{symbols : Symbols symbol}
{my_signature : Signature}
{NondetValue : Type}
(M : Model my_signature NondetValue)
:= {
inject_int :: CarrierInjection Z M ;
}.
Class WithListTrait (Inner : Type)
{symbol : Type}
{symbols : Symbols symbol}
{my_signature : Signature}
{NondetValue : Type}
(M : Model my_signature NondetValue)
:= {
inject_list_inner :: CarrierInjection Inner M ;
inject_list :: CarrierInjection (list Inner) M ;
}.
*)
prelude
spec
model_functor
.
(*
Class WithBoolTrait
{symbol : Type}
{symbols : Symbols symbol}
{my_signature : Signature}
{NondetValue : Type}
(M : Model my_signature NondetValue)
:= {
inject_bool :: CarrierInjection bool M ;
}.
Class WithIntTrait
{symbol : Type}
{symbols : Symbols symbol}
{my_signature : Signature}
{NondetValue : Type}
(M : Model my_signature NondetValue)
:= {
inject_int :: CarrierInjection Z M ;
}.
Class WithListTrait (Inner : Type)
{symbol : Type}
{symbols : Symbols symbol}
{my_signature : Signature}
{NondetValue : Type}
(M : Model my_signature NondetValue)
:= {
inject_list_inner :: CarrierInjection Inner M ;
inject_list :: CarrierInjection (list Inner) M ;
}.
*)