A.- Le 19 juillet 1990, le Juge d'instruction du canton de Genève a émis un mandat d'arrêt international dirigé contre R._, prévenu d'escroquerie. Appréhendé à Monaco le 9 août suivant, R._ fut extradé à la Suisse, remis aux autorités genevoises et placé par elles en détention préventive. Cette incarcération s'est poursuivie jusqu'au 8 novembre 1990 à Genève, puis jusqu'au 12 suivant dans le canton du Valais. Par la suite, en juillet 1992, le for de la poursuite pénale fut fixé dans ce dernier canton, en raison de l'antériorité d'une autre enquête que ses propres autorités avaient ouvertes en avril 1989, contre le même prévenu. Le 13 septembre 1993, le Tribunal du IIe arrondissement pour le district de Sion a disjoint les deux causes pénales correspondant aux enquêtes ouvertes respectivement en Valais et à Genève; il a mis fin à la première cause par un jugement d'acquittement et a requis un complément d'instruction dans l'autre. B.- Cette cause-ci a elle-même pris fin par une décision de non-lieu, rendue le 10 mai 1996 par le Juge d'instruction pénale du Valais central. Les frais étaient mis à la charge des trois prévenus visés par l'enquête, à raison d'un tiers chacun; sur ce point, la décision n'était pas motivée. Les prévenus ont tous trois recouru au Tribunal d'arrondissement pour contester leur condamnation aux frais; ce tribunal leur a donné gain de cause par un jugement du 3 mars 1997. Une nouvelle décision du Juge d'instruction, du 31 décembre 1998, a mis les frais à la charge du fisc. C.- Entre-temps, par une requête datée du 9 mai 1997, R._ avait saisi la Cour de justice du canton de Genève d'une demande d'indemnité fondée sur l'art. 379 CPP gen. , afin d'obtenir la réparation du tort moral causé par la détention préventive, ainsi que le remboursement de ses frais de défense. Il concluait au paiement de 25'250 fr. La Cour de justice s'est d'abord déclarée incompétente par arrêt du 22 mars 1999, au motif que la compétence pour instruire et juger avait été attribuée au canton de Valais; les autorités genevoises avaient ainsi perdu la maîtrise de la procédure. Statuant le 12 juillet 1999 sur un recours de droit public formé par R._, le Tribunal fédéral a jugé que les mesures ordonnées ou requises par les autorités du canton de Genève donnaient lieu à indemnisation, le cas échéant, à la charge de ce canton et selon les règles de son propre droit, indépendamment du for de la poursuite pénale. L'arrêt attaqué constituait ainsi un déni de justice formel, ce qui entraînait son annulation. La Cour de justice a rendu un nouvel arrêt le 20 mars 2000. Elle a cette fois rejeté la demande en retenant que la décision de non-lieu du 10 mai 1996 n'équivalait pas à une "constatation judiciaire de l'innocence du prévenu", ni à une "constatation que les conditions de la poursuite n'étaient pas réalisées". D.- Agissant à nouveau par la voie du recours de droit public, R._ requiert le Tribunal fédéral d'annuler ce dernier prononcé. Il se plaint notamment d'une application arbitraire de l'art. 379 CPP gen. , relatif à l'indemnisation du prévenu mis au bénéfice d'un acquittement ou d'un non-lieu. Une demande d'assistance judiciaire est jointe au recours. Invités à répondre, le Procureur général du canton de Genève propose le rejet du recours; la Cour de justice n'a pas déposé d'observations. 