00001 package edu.tum.cs.logic; 00002 00003 import java.util.Map; 00004 import java.util.Set; 00005 00006 import edu.tum.cs.srl.Database; 00007 00008 public class TrueFalse extends Formula { 00009 00010 public static TrueFalse FALSE = new TrueFalse(false); 00011 public static TrueFalse TRUE = new TrueFalse(true); 00012 00013 public static TrueFalse getInstance(boolean isTrue) { 00014 return isTrue ? TRUE : FALSE; 00015 } 00016 00017 protected boolean isTrue; 00018 00019 private TrueFalse(boolean isTrue) { 00020 this.isTrue = isTrue; 00021 } 00022 00023 @Override 00024 public void getVariables(Database db, Map<String, String> ret) { 00025 } 00026 00027 @Override 00028 public Formula ground(Map<String, String> binding, WorldVariables vars, Database db) throws Exception { 00029 return this; 00030 } 00031 00032 @Override 00033 public void getGroundAtoms(Set<GroundAtom> ret) { 00034 } 00035 00036 @Override 00037 public boolean isTrue(IPossibleWorld w) { 00038 return isTrue; 00039 } 00040 00041 public boolean isTrue() { 00042 return isTrue; 00043 } 00044 00045 @Override 00046 public String toString() { 00047 return isTrue ? "True" : "False"; 00048 } 00049 00050 @Override 00051 public Formula toCNF() { 00052 return this; 00053 } 00054 00055 @Override 00056 public Formula toNNF() { 00057 return this; 00058 } 00059 00060 @Override 00061 public Formula simplify(Database evidence) { 00062 return this; 00063 } 00064 00065 public TrueFalse opposite() { 00066 if(isTrue) 00067 return FALSE; 00068 return TRUE; 00069 } 00070 }