import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.awt.geom.*; import java.math.*; import java.io.*; public class VerifyRenorm { /**This class has the routines that verify that a given POLYGON, or pairs of POLYGONS, map into renorm tiles. These routines are used in the proofs of the Fundamental Orbit Theorem FixedPoint Theorem Near Reduction Theorem Far Reduction Theorem There is a similar class that works directly with the polywedges.*/ /*Here is the main routine.*/ public static int[] verify(GoldenPolyWedge A,GoldenPolyWedge B) { return(verify(A,B,false)); } public static int[] verify(GoldenPolyWedge A,GoldenPolyWedge B,boolean print) { int[] fail={-1,-1}; //first we check that A is an A-tile int[] itineraryA=verifyA(A); if(itineraryA==null) return(fail); //now we check that B is a B-tile int[] L=VerifySupport.getCharA(A); boolean reverse=false; if(L[0]%2==0) reverse=true; int[] itineraryB=verifyB(B,reverse); if(itineraryB==null) return(fail); //now we check that the A-->B boolean test3=verifyAtoB(A,B,itineraryA,itineraryB); if(test3==false) return(fail); int[] TEST={itineraryA.length,itineraryB.length}; return(TEST); } /**The purpose of this routine is to verify that a given polygon is an A-renorm tile. technically, the routine verifies that the tile is contained in an A-renorm tile. This suffices for our purposes.**/ public static int[] verifyA(GoldenPolyWedge P) { //first we check that the tile survives in the backwards direction boolean STARTS_IN_A=false; int[] IA=VerifySupport.itineraryAB(P,true,false,false); if(IA==null) return(null); if(IA.length==0) STARTS_IN_A=true; boolean test=VerifyTile.verifyInverse(P,IA); if(test==false) return(null); //next we check that the tile survives in the forward direction int[] IA2=VerifySupport.itineraryAB(P,true,true,STARTS_IN_A); test=VerifyTile.verify(P,IA2); if(test==false) return(null); //finally we check if the final image of the tile lies in the A-set GoldenVector V=VerifySupport.getTotalMoveInverse(IA); int[] L=VerifySupport.getCharA(P); for(int i=0;i