#!/bin/bash                                                                                                                                                                                    
#if [ $# -eq 0 ];
if [ $# -ne 2 ];
then
    echo "Usage: ./ArgoGeoChecker [I|II] th_name_proof.txt"
    echo "if using Hilbert's axioms of I or, I and II group"
    echo "or ./ArgoGeoChecker location_of_axioms th_name_proof.txt"
    echo "File th_name_proof.txt must be in the folder theorems_and_proofs"
else
  fullname="theorems_and_proofs/$2"
  #ako ne postoji ili nije oblika *_proof prekinuti...
  if [[ -e $fullname && $2 == *"proof.txt" ]];
   then
#       if [[ $1 = "I" || $1 = "II" ]];
#       then
	   startTime=`date +%s`
	   input=$fullname
	   name=$fullname
	   name=${fullname%proof.txt}
	   base=${name##*/}
	   goal='goals.p'
	   formalize='formalize'
	   p='.p'
	   txt='.txt'
	   
	   #(0) th_mg_1a_proof.txt - ulaz
	   #(1) th_mg_1a_goals.p - tptp teoreme koje odgovaraju medjukoracima
	   #echo "perl scripts/ExpandAxioms.pl -i theorems_and_proofs/th_mg_1a_proof.txt -t th_mg_1a_ -o theorems_and_proofs/th_mg_1a_goals.p"
	   perl scripts/ExpandAxioms.pl -i $input -t $base -o $name$goal
	   
	   #(2) th_mg_1a_formalize.p - tptp fajl koji sadrzi definicije, aksiome i teoreme koje odgovaraju medjukoracima
	   if [[ $1 == "I" ]] ;
	   then
	       scripts/./merge_hilbert_I.sh $name$goal
	   else if [[ $1 == "II" ]] ;
		then
		    scripts/./merge_hilbert_II.sh $name$goal
		else
		    cat $1 $name$goal > $name$formalize.p
		fi
	   fi


	   #kopiramo folder clvernacular u xml_proofs
	   cp -r clvernacular/isar xml_proofs/
	   cp -r clvernacular/coq xml_proofs/
	   cp -r clvernacular/tex xml_proofs/
	   cp -r clvernacular/srpski_tex xml_proofs/
	   #kopiramo pomocne fajlove
	   cp ArgoCLP_files/nl_formulations.txt preprocessing/make_conjectures/
	   cp ArgoCLP_files/nl_formulations.txt proving/
	   cp ArgoCLP_files/signature.txt preprocessing/make_conjectures/
	   cp ArgoCLP_files/signature.txt proving/
	   cp ArgoCLP_files/trivial.txt preprocessing/make_conjectures/
	   cp ArgoCLP_files/trivial.txt preprocessing/make_conjectures/axioms/
	   
	   #brisemo stare fajlove
	   rm -f merge_results.sh
	   rm -f prove_theorem*
	   rm -f proving/merge_results.sh
	   rm -f proving/prove_theorem*
	   
	   #(3) pravimo pojedinacne teoreme za sve korake, male tptp fajlove i slicno
	   scripts/./napravi_sve.sh -a -n $name$formalize$p
	   
	   #(4) pozivamo dokazivace
	   cp prove_theorem* proving 2>/dev/null
	   cp merge_results.sh proving 2>/dev/null
	   cd proving
	   ./prove_theorem.sh
	   rm -f finished_*
	   rm -f results{0..9}*
	   rm -f izlaz_*      
	   rm -f proofs/zvezda_*
	   rm -f proofs/nonoptimized_*.xml
	   #brisemo fajlove koji su se koristili za pokretanje
	   rm -f ../prove_theorem*
	   rm -f ../merge_results.sh
	   
	   #kopiramo dokaze u poddirektorijume
	   cp proofs/*$base*.xml ../xml_proofs/isar/ 2>/dev/null
	   cp proofs/*$base*.xml ../xml_proofs/tex/ 2>/dev/null
	   cp proofs/*$base*.xml ../xml_proofs/srpski_tex/ 2>/dev/null
	   cp proofs/*$base*.xml ../xml_proofs/coq/ 2>/dev/null
	   cp proofs/*$base*.xml ../xml_proofs/html/ 2>/dev/null
	   
	   #(5) od dobijenih dokaza generisemo jedan veliki isar fajl
	   cd ../xml_proofs/isar/
	   #skidamo _ sa kraja promenljive base
	   ./check_files.sh ${base%_}
	   cp ${base%_}_complete_proof.thy ../../theorems_and_proofs/
	   
	   #(6) od dobijenih dokaza generisemo jedan veliki coq fajl
	   cd ../coq
	   #skidamo _ sa kraja promenljive base
	   ./check_files.sh ${base%_}
	   cp ${base%_}_complete_proof.v ../../theorems_and_proofs/
	   
	   #(7) od dobijenih dokaza generisemo jedan veliki tex fajl na engleskom
	   cd ../tex
	   #skidamo _ sa kraja promenljive base
	   ./check_files.sh ${base%_}
	   cp ${base%_}_complete_proof.tex ../../theorems_and_proofs/
	   cp ${base%_}_complete_proof.pdf ../../theorems_and_proofs/
	   
	   #(8) od dobijenih dokaza generisemo jedan veliki tex fajl na srpskom
	   cd ../srpski_tex
	   #skidamo _ sa kraja promenljive base
	   ./check_files.sh ${base%_}
	   cp ${base%_}_kompletan_dokaz.tex ../../theorems_and_proofs/    
	   cp ${base%_}_kompletan_dokaz.pdf ../../theorems_and_proofs/
	   
	   #DODATI I (9) pravljenje velikog html fajla
	   
	   endTime=`date +%s`
	   runTime=$((endTime-startTime))
	   echo "Seconds: $runTime"
#       else
#	   echo "You must specify groups of axioms that are used in the proof I or II."
#       fi
  else
      echo "File theorems_and_proofs/$2 doesn't exists or doesn't end with _proof.txt"
  fi
fi
