GtkDisprove.hs revision 9da6e0cb2ea6e43f5b09dcd2a9af5468a5d0fcf4
2d0611ffc9f91c5fc2ddccb93f9a3d17791ae650takashiModule : $Header$
dc0d8d65d35787d30a275895ccad8d8e1b58a5edndDescription : Gtk Module to enable disproving Theorems
dc0d8d65d35787d30a275895ccad8d8e1b58a5edndCopyright : (c) Simon Ulbricht, Uni Bremen 2010
dc0d8d65d35787d30a275895ccad8d8e1b58a5edndLicense : GPLv2 or higher, see LICENSE.txt
a78048ccbdb6256da15e6b0e7e95355e480c2301ndMaintainer : tekknix@informatik.uni-bremen.de
a78048ccbdb6256da15e6b0e7e95355e480c2301ndStability : provisional
a78048ccbdb6256da15e6b0e7e95355e480c2301ndPortability : portable
0cf3cdbaa1dad11cbf1ce32e48f1b4ec88cf779fnilgunThis module provides a disproving module that checks consistency of inverted
module GUI.GtkDisprove (disproveAtNode) where
import Graphics.UI.Gtk
import Graphics.UI.Gtk.Glade
import GUI.GtkUtils as GtkUtils
import qualified GUI.Glade.NodeChecker as ConsistencyChecker
import GUI.GraphTypes
import Static.DevGraph
import Static.PrintDevGraph ()
import Static.GTheory
import Static.History
import Static.ComputeTheory
import Interfaces.GenericATPState (guiDefaultTimeLimit)
import Interfaces.DataTypes
import Logic.Logic
import Logic.Coerce
import Logic.Grothendieck
import Logic.Comorphism
import Logic.Prover
import Comorphisms.LogicGraph (logicGraph)
import Comorphisms.KnownProvers
import qualified Common.OrderedMap as OMap
import Common.AS_Annotation
import Common.LibName (LibName)
import Common.Result
import Common.ExtSign
import Common.Utils
import Control.Concurrent (forkIO, killThread)
import Control.Concurrent.MVar
import Proofs.AbstractState
import Data.Graph.Inductive.Graph (LNode)
import Data.IORef
import qualified Data.Map as Map
import Data.List
import Logic.Logic
import Logic.Coerce
import Logic.Grothendieck
import Logic.Comorphism
import Logic.Prover
import Comorphisms.LogicGraph (logicGraph)
import Comorphisms.KnownProvers
import qualified Common.OrderedMap as OMap
import Common.AS_Annotation
import Common.LibName (LibName)
import Common.Result
import Common.ExtSign
import Common.Utils
import Control.Concurrent (forkIO, killThread)
import Control.Concurrent.MVar
import Proofs.AbstractState
import Data.Graph.Inductive.Graph (LNode)
import Data.IORef
import qualified Data.Map as Map
import Data.List
import Data.Maybe
import Proofs.ConsistencyCheck
import GUI.GtkConsistencyChecker
Nothing -> error "GtkDisprove.showDisproveGUI"
let axs = OMap.filter isAxiom sens
negSen = case OMap.lookup goal sens of
Nothing -> error "GtkDisprove.disproveThmSingle(1)"
Nothing -> error "GtkDisprove.disproveThmSingle(2)"
sens' = OMap.insert goal negSen axs
xml <- getGladeXML ConsistencyChecker.get
putMVar res $ Map.insert ln (groupHistory dg (DGRule "Consistency") dg') le