module Debate.Types exposing (..)


type alias ArgumentCategory =
    { categoryName : String
    , arguments : List Argument
    }


type alias Argument =
    { argumentTitle : String
    , propositionTitle : String
    , propositionSummary : String
    , propositionReductio : String
    , proofLink : String
    , definitionTable : List Definition
    , argumentFormalization : List ArgumentEntry
    }


type alias ArgumentEntry =
    { premises : List PremiseWithNotation
    , conclusion : String
    , conclusionNotation : String
    }


type alias PremiseWithNotation =
    { premise : String
    , notation : String
    }


type alias Definition =
    { definiendum : String
    , definiens : String
    }
