src/CTT/ex/elim.ML
changeset 18678 dd0c569fa43d
parent 15661 9ef583b08647
equal deleted inserted replaced
18677:01265301db7f 18678:dd0c569fa43d
    18 Goal "A type ==> ?a : (A*A) --> A";
    18 Goal "A type ==> ?a : (A*A) --> A";
    19 by (pc_tac [] 1  THEN  fold_tac basic_defs);   (*puts in fst and snd*)
    19 by (pc_tac [] 1  THEN  fold_tac basic_defs);   (*puts in fst and snd*)
    20 result();
    20 result();
    21 writeln"first solution is fst;  backtracking gives snd";
    21 writeln"first solution is fst;  backtracking gives snd";
    22 back(); 
    22 back(); 
    23 back() handle ERROR => writeln"And there are indeed no others";  
    23 back() handle ERROR _ => writeln"And there are indeed no others";  
    24 
    24 
    25 
    25 
    26 writeln"Double negation of the Excluded Middle";
    26 writeln"Double negation of the Excluded Middle";
    27 Goal "A type ==> ?a : ((A + (A-->F)) --> F) --> F";
    27 Goal "A type ==> ?a : ((A + (A-->F)) --> F) --> F";
    28 by (intr_tac []);
    28 by (intr_tac []);