module Drasil.GlassBR.Goals (goals, willBreakGS) where

import Language.Drasil
import qualified Language.Drasil.Sentence.Combinators as S

import Data.Drasil.Concepts.Documentation (goalStmtDom, userInput)
import Data.Drasil.Concepts.Thermodynamics (degree_')

import Drasil.GlassBR.Concepts (glaSlab)
import Drasil.GlassBR.Unitals (explosion)

goals :: [ConceptInstance]
goals :: [ConceptInstance]
goals = [ConceptInstance
willBreakGS]

willBreakGS :: ConceptInstance
willBreakGS :: ConceptInstance
willBreakGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic String
"willBreakGS" ([Sentence] -> Sentence
foldlSent [String -> Sentence
S String
"Analyze" Sentence -> Sentence -> Sentence
`S.and_`
  String -> Sentence
S String
"predict whether the", IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase IdeaDict
glaSlab, String -> Sentence
S String
"under consideration will be able",
  String -> Sentence
S String
"to withstand the", ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
explosion Sentence -> Sentence -> Sentence
`S.of_` String -> Sentence
S String
"a certain", ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
degree_',
  String -> Sentence
S String
"which is calculated based on", IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase IdeaDict
userInput])
  String
"Predict-Glass-Withstands-Explosion" ConceptChunk
goalStmtDom